1.配置Swagger
2023-12-15 17:01:58
1.为生成的api追加注释
Program.cs
builder.Services.AddSwaggerGen(option =>
{
? ?//xml文档绝对路经--读取根据控制器api生成的Xml的文件 ?????
? ?var file = Path.Combine(AppContext.BaseDirectory,
? ? ? ?"BookReadWebApi.xml");
?
? ?//true显示器层展示注释
? ?option.IncludeXmlComments(file, true);
?
? ?//action排序
? ?option.OrderActionsBy(o => o.RelativePath);
});
配置让swagger展示注释
2.不同版本api的版本控制
0.创建版本枚举文件夹
1.获取api的名称
builder.Services.AddSwaggerGen(option =>
{
? ?typeof(ApiVersions).GetEnumNames().ToList().ForEach(Version =>
? {
? ? ? ?//1.先获取所有name
? ? ?option.SwaggerDoc(Version,new Microsoft.OpenApi.Models.OpenApiInfo()
? ? {
? ? ? ?Title = $"读书平台",
? ? ? ?Version = Version,
? ? ? ?Description = $"通用版本的CoreApi版本{Version}"
? ? });
? });
? ......
? }
2.遍历api
app.UseSwaggerUI(c =>
{
? ?foreach(string version in typeof(ApiVersions).GetEnumNames())
? {
? ? ? ?c.SwaggerEndpoint($"/swagger/{version}/swagger.json",$"阅读平台第{version} 版本");
? }
});
3.控制当前api只在特定(V1)的版本中展示改接口
[ApiExplorerSettings(IgnoreApi =false,GroupName =nameof(Utility.SwaggerExt.ApiVersions.V1))]
静态类里面的静态方法的this成为扩展方法
可以将里面的方法调用改写
CustomSwaggerExt.AddSwaggerExt(builder.Services);等效于
builder.Services.AddSwaggerExt();
这就是中间件的封装?????不懂,不管
文章来源:https://blog.csdn.net/qq_57676486/article/details/135018946
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!