我有这个控制器,它基于日期过滤器来获取数据。如果两个日期都为空,则服务将分配默认值。
[HttpGet]
[Route("GetOrdersByUserId")]
public IHttpActionResult GetOrdersByUserId([FromUri] DateTime? startDate = null, [FromUri] DateTime? endDate = null)
{
try
{
ResponseViewModel<object> resp = new ResponseViewModel<object>();
OrderService service = new OrderService();
resp.data = service.GetOrdersByUserId(startDate, endDate);
resp.status.code = (int)HttpStatusCode.OK;
return Ok(resp);
}
catch (Exception ex)
{
WebApiExceptionHandler.Handle(Request, ref ex);
throw;
}
}
以下情况运行良好。
... / api / v1 /零售商/ GetOrdersByUserId?startDate = 2020-02-04&endDate = 2020-02-05
当删除一个或两个参数时,但是我收到此错误消息“ 参数不能为空”。... / api / v1 /零售商/ GetOrdersByUserId
... / api / v1 /零售商/ GetOrdersByUserId?startDate = 2020-02-04
... / api / v1 /零售商/ GetOrdersByUserId?endDate = 2020-02-05
如果您能帮助我解决此问题,我将不胜感激。
我认为startDate和endDate的可选参数在这里没有用。您可以将其删除。