小编CoO*_*oOl的帖子

AspNetCore 2.2自定义/显式Swagger OperationId

我正在使用aspnet core 2.2创建Restful API。我有一个标准设置,其中每个模型都有一个带有GETPOST动作的自己的控制器。我使用的Swashbuckle.AspNetCoreNuGet包,并使用文章从微软的文档。

现在,当我查看生成的swagger文件时,它具有多个GET和POST operationIds。如何在不使用的情况下配置自定义operationIds Swashbuckle.AspNetCore.Annotations

这是我的Action方法的样子:

[HttpPost]
[ProducesResponseType(200)]
[ProducesResponseType(400)]
[ProducesResponseType(500)]
public async Task<ActionResult<Response>> PostAsync([FromBody]Request request)
{
    Response result = await _context.PostAsync(request);
    return Ok(result);
}
Run Code Online (Sandbox Code Playgroud)

我有多个控制器,它们都遵循相同的模式。

我的启动类如下所示:

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
    services.AddSwaggerGen(c =>
    {
        c.SwaggerDoc("v1", new Info { Title = "My API", Version = "v1" });
    });

    ...
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    app.UseSwagger();

    app.UseSwaggerUI(c =>
    {
        c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
    });

    ...
}
Run Code Online (Sandbox Code Playgroud)

我已经看过 …

swagger swashbuckle asp.net-core

3
推荐指数
1
解决办法
841
查看次数

标签 统计

asp.net-core ×1

swagger ×1

swashbuckle ×1