Swagger 不显示具有 .net core 2.2 mvc 默认项目的端点

Swagger do not show endpoints with .net core 2.2 mvc default project

在我看来,注释丢失了。我找到 api 的所有示例 控制器但不适用于 mvc 控制器。

No operations defined in spec!

{ "swagger": "2.0", "info": { "version": "v1", "title": "Something" }, "paths": {}, "definitions": {} }

我试过这些选项,但它们对我没有帮助:

https://docs.microsoft.com/en-us/aspnet/core/tutorials/getting-started-with-swashbuckle?view=aspnetcore-2.2&tabs=visual-studio

在我的例子中,swagger 不知道如何读取控制器。 您必须将属性用于路由和 return 类型。例如:

    // Add these lines to your controllers -->
    [HttpGet]                                     
    [Route("/questions/answer")]                  
    [ProducesResponseType(typeof(Answer), 200)]   
    // <-- End added lines :)
    public async Task<IActionResult> Active()
    {           
        return View(question);
    }