C#aspnet-core Swashbuckle在规范中未定义任何操作

时间:2020-07-30 17:04:17

标签: c# asp.net-core swagger swagger-ui swashbuckle.aspnetcore

使用自定义基本路径设置swagger,但文档中未显示任何控制器,swagger.json文件大多为空路径:{},它不是自动发现的。这不是自动的,还是配置错误以阻止控制器端点出现在庞大的文档中?

启动公司的ConfigureServices

services.AddSwaggerGen(options =>
{
    options.SwaggerDoc("v1", new OpenApiInfo
    {
        Version = "v1",
        Title = "My Service",
        Description = "My description",
    });
});

启动程序的配置

app.UseSwagger(config =>
{
    config.RouteTemplate = "api/{documentName}/swagger.json";
});

app.UseSwaggerUI(options =>
{
    options.SwaggerEndpoint("/api/v1/swagger.json", "v1");
    options.RoutePrefix = "api/swagger";
});

未显示示例控制器

[ApiController]
[Route("[controller]")] //tried api/[controller] and [controller] neither worked
[Produces("application/json")]
public class MyController : ControllerBase

UI加载正确的URL,但HTML中出现错误:“规范中未定义任何操作!”然后单击JSON链接时,它会返回一个用空路径创建的文件:{},因此UI可以按预期加载,并且可以在预期路径上访问,但不会使用我的任何控制器填充UI或JSON文件

0 个答案:

没有答案