.Net Core Swagger 给类库模型添加注解

因为公司流程的需要,需要给每个API的Request 和Response 模型及属性加上注解,发现Api项目依赖的Model 类库中的/// Summy的注解并没有作用。

通过翻资料和实践。发现借助 Swashbuckle.AspNetCore.Annotations 包可以实现。

步骤:

  1. 在模型字段加上 [SwaggerSchema("UserId", ReadOnly = true)] 属性标签
  2. 在StartUp.cs 的 service 中注册 

    services.AddSwaggerGen(c =>
    {
    c.SwaggerDoc("v1", new OpenApiInfo { Title = "Swagger API V1", Version = "v1" });
    c.SwaggerDoc("v2", new OpenApiInfo { Title = "Swagger API V2", Version = "v2" });
    var filePath = Path.Combine(System.AppContext.BaseDirectory, "Swagger.xml");
    c.IncludeXmlComments(filePath);
    c.EnableAnnotations();
    });

效果

 

 

在引用这个包的时候,有部分依赖包存在版本兼容问题。

可以参考原项目:https://github.com/domaindrivendev/Swashbuckle.AspNetCore

 

posted @ 2020-10-14 22:54  蚍蜉搬运工  阅读(1254)  评论(0编辑  收藏  举报