は、私は2つのパラメータでアクションを作成しようとしている、1は私がASP.NET WEBAPIルートパラメータ
[HttpGet, Route("movies/date/{dateMin}&{dateMax}")]
にしようとしている。しかし、それは働いていない オプションです。 は「dateMax」は、オプションのパラメータであり、それは与えられていないときdateMin が既に
[HttpGet, Route("movies/date/{dateMin}&{dateMax?}")]
てみました。しかし、それはどちらか働いていないとして、それは同じ値でなければなりません。 私はそれを行うために他の可能性がある
{dateMin}/{dateMax}
のようなものを持っていけませんか?
を使用している場合、ルートの設定を変更する必要はありませんがありがとうございました:)また、私は2番目の質問があります。 私は "movies/2/xx"で動作させたいと思います - movieId = 2の場合のみxxを取得します と "movies/xx" - すべてのxxを取得する 可能性はありますか? – Pawel
@Pawel - no。位置パラメータを使用する場合、順序は重要であり、必要なパラメータの前にオプションのパラメータを配置する必要があります。あなたの最善の策は代わりにクエリ文字列を使用し、それらを位置ベースにするのではなく名前でバインドすることです。これを行うには、ルートテンプレートからそれらを完全に省略して、メソッドにパラメータとして保持して、それらをnullableにします(値タイプに?を追加)し、デフォルト値を割り当てます。次に、これらはオプションで、クエリ文字列パラメータを使用して値を含めることができます。 – Igor
さて、ありがとうございます:) – Pawel