为什么这条路线不起作用?

时间:2018-04-08 17:53:54

标签: c# .net-core asp.net-core-webapi asp.net-core-routing

在课上我有:

[Route("api/candidate/free")]

关于方法,我有:

[HttpDelete("{dateRangeId}")]
public IActionResult Delete(int dateRangeId)

这导致404:

/api/candidate/free/123

删除属性时:

[HttpDelete]
public IActionResult Delete()

这不会产生404:

  

/ API /候补/免费/

参数有什么问题?

2 个答案:

答案 0 :(得分:0)

路由约束区分大小写。如果Int

,则int[Route("api/candidate/free")] public class MyController : Controller { //... //DELETE api/candidate/free/123 [HttpDelete("{dateRangeId:int}")] public IActionResult MyAction(int dateRangeId) { //... return Ok(); } }

该操作还应该遵循预期的路由模板,并使用约束来匹配请求,否则您将获得 404(未找到)

Day from    Day to
01/09/12    31/08/13
04/07/15    10/11/15
11/11/17    

参考Routing to Controller Actions

参考Routing in ASP.NET Core

答案 1 :(得分:0)

那就是我......

[HttpPost("delete")]
public IActionResult Delete([FromQuery] int dateRangeId)