7

新しいasp.netWebAPIを使用しており、オプションのパラメーターを渡したいと思います。?シンボルを使用してパラメータを渡すことができるように、属性を設定する必要があるのは正しいですか?

これがuriテンプレートで行われる前は、私は信じています。

誰か例がありますか?

私は現在、コントローラーにintとして到着するURLでIDを渡しています。しかし、私はいくつかの日付を渡す必要があります。

4

2 に答える 2

6

null 許容型を使用して、パラメーターをオプションにすることができます。

public class OptionalParamsController : ApiController
{
    // GET /api/optionalparams?id=5&optionalDateTime=2012-05-31
    public string Get(int id, DateTime? optionalDateTime)
    {
        return optionalDateTime.HasValue ? optionalDateTime.Value.ToLongDateString() : "No dateTime provided";
    }
}
于 2012-05-31T09:07:09.117 に答える
3

Ian によって提供された前の回答に加えて、正しいデフォルト値を提供することもできます。これは、何かが渡されたかどうかを確認する必要がない、よりクリーンなオプションだと思います。ちょうど別のオプション。

public class OptionalParamsController : ApiController
{
    // GET /api/optionalparams?id=5&optionalDateTime=2012-05-31
    public string Get(int id, DateTime optionalDateTime = DateTime.UtcNow.Date)
    {...}
}
于 2012-05-31T13:38:28.093 に答える