WebAPI和OData8与Swagger中的Controller名称冲突

cetgtptt  于 2024-01-08  发布在  其他
关注(0)|答案(1)|浏览(313)

我有一个问题,这似乎是共同的,从我所研究的控制器名称冲突和问题与 Swagger 。
如果我在Controller 1中有两个Get()函数,在Controller 2中有两个Get()函数,我会收到错误:
正在删除操作的方法/路径组合“GET {id}”

注意事项:

  • 只有在我的控制器中直接调用ODataController时才会出现此错误,如下所示:
  1. public class OrdersController : ODataController

字符串

  • 此错误不会出现如果我这样做
  1. public class OrdersController : BaseApiController
  1. using Microsoft.AspNetCore.Mvc;
  2. using Microsoft.AspNetCore.OData.Routing.Controllers;
  3. namespace API.Controllers
  4. {
  5. [ApiController]
  6. [Route("api/[controller]")]
  7. public class BaseApiController : ODataController
  8. {
  9. }
  10. }

的数据
我现在遇到的主要问题是Swagger显示两组端点:
一个用于我所有的/api/<controller>端点以及/odata/<controller>(重复),我只想要odata的,但如果我删除路由错误将再次发生。

9ceoxa92

9ceoxa921#

一个用于我所有的/API/ endpoints以及/odata/(重复),我只想要odata的。但是如果我删除路由,错误将再次发生
删除[ApiController][Route("api/[controller]")]
下面是本文档中的OData控制器示例

相关问题