Jac*_*ack 1 c# asp.net swagger .net-core asp.net-core
我想在 Swagger 索引上制作和排序 API 方法,并根据 Get、Post、Put 和 Delete 将它们分组。这些方法在我的页面上排序,如如何按路径对方法进行排序?。由于该页面上的解决方法太旧,我正在寻找可用于最新方法的解决方案。是否可以通过在 Startup.cs 等上进行配置更改来订购 ASP.NET Core 应用程序中的 API 方法?
首先,安装包Swashbuckle.AspNetCore:
Install-Package Swashbuckle.AspNetCore -Version 5.5.0
Run Code Online (Sandbox Code Playgroud)
然后你可以像下面这样配置:
services.AddSwaggerGen(c =>
{
c.OrderActionsBy((apiDesc) => $"{apiDesc.ActionDescriptor.RouteValues["controller"]}_{apiDesc.RelativePath}");
//...
});
Run Code Online (Sandbox Code Playgroud)
更新:
如果您不包含控制器,只需使用:
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
services.AddSwaggerGen(c =>
{
c.OrderActionsBy((apiDesc) => $"{apiDesc.RelativePath}"); //change here...
});
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseHttpsRedirection();
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "API Test Version 1");
});
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4330 次 |
| 最近记录: |