ASP.NET Core WebAPI忽略操作属性

时间:2018-05-02 15:19:16

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

我在网络API中遇到了新控制器。我有两种方法:

[Route("PositionSettingsForDay/{day}")]
[HttpGet("{day}")]
public async Task<IActionResult> GetPositionSettingsForDay(int day) {...}

[Route("PositionSettingsForDay/{day}")]
[HttpDelete("{day}")]
public async Task<IActionResult> DeletePositionSettingsForDay(int day) {...}  

使用Postman调用任何一个时,我收到以下错误:

  

处理请求时发生未处理的异常。

     

AmbiguousActionException:匹配多个动作。下列   动作匹配路线数据并满足所有约束条件:

     

Backend.Controllers.PositionSettingsController.GetPositionSettingsForDay   (后端)   Backend.Controllers.PositionSettingsController.DeletePositionSettingsForDay   (后端)

在其他控制器中,我使用相同的路线获取删除方法没有问题。

此外,我发现即使我将路线更改为不同的路线,我的WebApi仍然表现得很奇怪。 当我向我的GetPositionSettingsForDay方法发送删除请求而不是返回 404 时,就会发送获取请求。 Result of unwanted delete

有人对我有任何建议吗?

0 个答案:

没有答案