我有一个带有两个必需参数和几个可选参数的操作:
[HttpGet]
public IHttpActionResult GetUsers(DateTime dateFrom, DateTime dateTo, string zipcode, int? countryId)
{
using (DataHandler handler = new DataHandler())
return Ok(handler.GetUsers(dateFrom, dateTo).ToList());
}
我想要一个像这样的网址:
/api/getusers/2018-12-03T07:30/2018-12-03T12:45?zipcode=4002&countryId=4
zipcode
和
countryId
是可选的,将与
?
-thigy。所需参数
dateFrom
和
dateTo
将添加
/
因此,以下URL也应该是可能的:
/api/getusers/2018-12-03T07:30/2018-12-03T12:45?countryId=4
/api/getusers/2018-12-03T07:30/2018-12-03T12:45?zipcode=4002
/api/getusers/2018-12-03T07:30/2018-12-03T12:45
我试过一些路线,比如
[Route("getusers/{dateFrom}/{dateTo}")]
[Route("getusers/{dateFrom}/{dateTo}*")]
[Route("getusers/{dateFrom}/{dateTo}**")]
[Route("getusers/{dateFrom}/{dateTo}?zipcode={zipcode}&countryId={countryId}")]
但他们都不起作用。
当我删除可选参数时,它会起作用,但我需要那些可选参数。
你知道怎么做吗?