我知道有很多标题相同的问题,但这是不同的。
我在产品控制器上遇到此错误,因此为了调查该问题,我在ASP.NET Web API 2中创建了一个演示控制器。 DemoController.cs
namespace WMWebAPIControllers.Controllers
{
[RoutePrefix("api/Demo")]
public class DemoController : ControllerBase
{
[HttpGet]
[Route("")]
public async Task<IHttpActionResult> GetProducts(int CatalogType, string ProductNo)
{
return Ok();
}
}}
奇怪的是演示控制器只有一种方法。昂首阔步没有办法找到不祥之兆。
我不明白问题所在。 下面是大张旗鼓的错误。
500:{“ message”:“发生错误。”,“ exceptionMessage”:“ Swagger 2.0不支持:路径'api / Demo'和方法'GET'的多项操作。请参阅配置设置-\ “ ResolveConflictingActions \”可能的解决方法“,” exceptionType“:” System.NotSupportedException“
答案 0 :(得分:0)
问题是我有一个没有路由属性的公共方法。因此大张旗鼓地发现为空路由配置的GetProducts()方法有歧义。
将公共方法标记为[NonAction]属性,问题已解决。
也可以将其标记为私有/受保护来解决此问题,但就我而言,它是一种接口方法。
希望这会对某人有所帮助。