我有一个问题,这似乎是共同的,从我所研究的控制器名称冲突和问题与 Swagger 。
如果我在Controller 1中有两个Get()
函数,在Controller 2中有两个Get()
函数,我会收到错误:
正在删除操作的方法/路径组合“GET {id}”
注意事项:
- 只有在我的控制器中直接调用
ODataController
时才会出现此错误,如下所示:
public class OrdersController : ODataController
字符串
- 此错误不会出现如果我这样做
public class OrdersController : BaseApiController
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.OData.Routing.Controllers;
namespace API.Controllers
{
[ApiController]
[Route("api/[controller]")]
public class BaseApiController : ODataController
{
}
}
的数据
我现在遇到的主要问题是Swagger显示两组端点:
一个用于我所有的/api/<controller>
端点以及/odata/<controller>
(重复),我只想要odata的,但如果我删除路由错误将再次发生。
1条答案
按热度按时间9ceoxa921#
一个用于我所有的/API/ endpoints以及/odata/(重复),我只想要odata的。但是如果我删除路由,错误将再次发生
删除
[ApiController]
和[Route("api/[controller]")]
下面是本文档中的OData控制器示例