首页 > 解决方案 > Error Swagger Ambiguous HTTP 操作方法

问题描述

我需要知道为什么会出现下一种情况以及是否存在不同的解决方案:

实际上,当在方法控制器中使用 Swagger HttpDelete 操作和 Route 装饰时,我的 Api 出现错误:

[Route("delete/{id}"), HttpDelete("{id}")]
public async Task<IActionResult> DeleteSession(string id)
{   //... any code
}

在此处输入图像描述

实际上,我仅在擦除 Route 装饰时才解决错误

[HttpDelete("{id}")]
public async Task<IActionResult> DeleteSession(string id)
{ //... any code}

在此处输入图像描述

我想知道为什么会出现这个错误?

标签: .net.net-coreswaggerhttp-delete

解决方案


改变这个:

[Route("delete/{id}"), HttpDelete("{id}")]

对此:

[HttpDelete, Route("{id}")]

你这样做的方式两次定义了路线......两次不同,这会导致冲突。


推荐阅读