微服务如何聚合 API 文档?这波秀~(二)

发布于 2022-7-12 17:02
浏览
0收藏

 

2、自动配置类配置Swagger

陈某是将每个服务的API信息抽离出一个属性类SwaggerProperties,后续只需要在每个服务的配置文件中指定即可。

@Data
@ConfigurationProperties(prefix = SwaggerProperties.PREFIX)
@Component
@EnableConfigurationProperties
public class SwaggerProperties {
    public static final String PREFIX="spring.swagger";

    //包
    private String basePackage;

    //作者相关信息
    private Author author;

    //API的相关信息
    private ApiInfo apiInfo;

    @Data
    public static class ApiInfo{
        String title;
        String description;
        String version;
        String termsOfServiceUrl;
        String license;
        String licenseUrl;
    }
    @Data
    public static class Author{
        private String name;

        private String email;

        private String url;
    }
}

 

对于Swagger的配置其实很简单,分为如下部分:

  1. API文档基本信息配置
  2. 授权信息配置(基于OAuth2的认证配置)


API文档配置无非就是配置文档的基本信息,比如文档标题、作者、联系方式.....

 

代码如下:

 微服务如何聚合 API 文档?这波秀~(二)-开源基础软件社区
授权信息配置也很简单,就是在全局信息的请求头中配置一个能够放置令牌的地方,代码如下:

 微服务如何聚合 API 文档?这波秀~(二)-开源基础软件社区
此处对应UI界面的地方如下图:

 微服务如何聚合 API 文档?这波秀~(二)-开源基础软件社区
只需要将获取token令牌设置到这里即可。

 

好了,swagger-starter关键代码就介绍完了,详细配置见源码。

 

“案例源码已上传GitHub,关注公众号:码猿技术专栏,回复关键:9528 获取!”

 

2、微服务引用swagger-starter


单个微服务引用就很简单了,只需要添加如下依赖:

<dependency>
  <groupId>cn.myjszl</groupId>
  <artifactId>swagger-starter</artifactId>
</dependency>

接下来只需要在配置文件配置API相关的信息即可,比如订单服务的配置如下:

 微服务如何聚合 API 文档?这波秀~(二)-开源基础软件社区
好了,至此单个服务的配置完成了。

 

此时我们可以验证一下,直接访问:http://localhost:3002/swagger-order-boot/v2/api-docs,结果如下图:

 微服务如何聚合 API 文档?这波秀~(二)-开源基础软件社区

 

文章转自公众号:码猿技术专栏

标签
已于2022-7-12 17:02:47修改
收藏
回复
举报
回复
添加资源
添加资源将有机会获得更多曝光,你也可以直接关联已上传资源 去关联
    相关推荐