こんにちは、私は属性のルーティングに新しいですし、これが可能であるかどうかはわかりません。私が持っているもの複数のオプションパラメータweb api属性のルーティング
は、私は私の検索を絞り込むためにいくつかの追加のオプションパラメータを追加したいが、この
[HttpGet]
[Route("GetIssuesByFlag/{flag:int=3}")]
public IEnumerable<IssueDto> GetIssuesByFlag(int flag)
は今ので、私は2つの余分なオプションのパラメータを追加するように正常に動作属性ルートです。
私は何をしようとしている:私の呼び出しは/api/controller/1/2
ですが、それはどのように私はこれを達成することができます/api/controller/1
に来るとき404で失敗した場合
[HttpGet]
[Route("GetIssuesByFlag/{flag:int=3?}/{categoryId:int?}/{tagIds?}")]
public IEnumerable<IssueDto> GetIssuesByFlag(int flag , int? categoryId = null, int?[] tagIds = null)
これは正常に動作しますか?
編集1:Nkosiさんの答えはうまくいきましたが、追加の修正が必要でした。値が提供されていないとクエリ文字列を使用し=ヌル
'{flag:int = 3?}'が問題になります。アクションのデフォルト値である '{flag:int?}'または '{flag:int = 3}'のいずれかです。現在、3つのオプションのパラメータがあります。あなたが1つの値ルーティングテーブルを持っているときは、あなたが参照しているオプションのパラメータが分からないので、404 – Nkosi
Nikosiの答えが私のために働いた!最初の1つは分割したものではなく、すべてが正常に機能していることを今すぐ確認しました – Harry
最初のもの(フラグからオプションの削除)を回答で更新できるので正しいとマークできますか? – Harry