我正在使用新的 asp.net web api,并希望传递可选参数。需要填充属性以便允许使用?
符号传递参数是否正确?
我相信在使用 uri 模板完成此操作之前。
有人有例子吗?
我目前正在传递 url 中的 id,它作为 int 到达我的控制器。但我需要通过一些日期。
我正在使用新的 asp.net web api,并希望传递可选参数。需要填充属性以便允许使用?
符号传递参数是否正确?
我相信在使用 uri 模板完成此操作之前。
有人有例子吗?
我目前正在传递 url 中的 id,它作为 int 到达我的控制器。但我需要通过一些日期。
您可以使用可为空的类型使参数成为可选:
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";
}
}
除了 Ian 提供的正确答案之外,您还可以提供默认值,我认为这是一个更简洁的选项,可以避免检查是否通过了某些内容。只是另一种选择。
public class OptionalParamsController : ApiController
{
// GET /api/optionalparams?id=5&optionalDateTime=2012-05-31
public string Get(int id, DateTime optionalDateTime = DateTime.UtcNow.Date)
{...}
}