Dmi*_* S. 5 asp.net-core swashbuckle.aspnetcore
我们有一个旧应用程序仅适用于 Swagger 2.0 JSON 格式。对于其他一切,我们希望使用开放 API 格式。
Swashbuckle .NET Core 是否有任何方法可以在单独的 URL 下以不同格式公开 JSON?看起来方法选项SerializeAsV2中的属性UseSwagger对于所有端点都是全局的。
基本上我希望有以下端点,其中包含不同格式的相同 API 数据。
/swagger/v1/openapi/swagger.json
/swagger/v1/swagger2/swagger.json
Run Code Online (Sandbox Code Playgroud)
另一种方法是拆分请求管道:
// serve v3 from /swagger/v1/swagger.json
app.UseSwagger(o => o.RouteTemplate = "swagger/{documentName}/swagger.json");
// serve v2 from /swagger2/v1/swagger.json
app.Map("/swagger2", swaggerApp =>
swaggerApp.UseSwagger(options => {
// note the dropped prefix "swagger/"
options.RouteTemplate = "{documentName}/swagger.json";
options.SerializeAsV2 = true;
})
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1070 次 |
| 最近记录: |