若依自定义服务配置swagger文档

本文介绍如何在Swagger中调试自定义接口。通过分析源码并在GatewayProperties中添加配置,然后在Nacos中更新设置,可以实现Swagger-UI的自定义。推荐使用第三方维护的UI,它提供更清晰的注释和更人性化的文档。此外,还需要在自定义服务的pom.xml、主类和Nacos配置中进行相应调整,并在接口方法和入参上添加注释。完成这些步骤后,将能在Swagger界面上看到自定义服务的接口文档。

我们想要在swagger中直接调试自己的接口

通过分析源码可得 具体添加 spec的 代码 如下 在gatewayProperties这个对象中

package com.ruoyi.gateway.config;
/**
 * 聚合系统接口
 * 
 * @author ruoyi
 */
@Component
public class SwaggerProvider implements SwaggerResourcesProvider
{
    @Override
    public List<SwaggerResource> get()
    {
        List<SwaggerResource> resourceList = new ArrayList<>();
        List<String> routes = new ArrayList<>();
        // 获取网关中配置的route
        routeLocator.getRoutes().subscribe(route -> routes.add(route.getId()));
        gatewayProperties.getRoutes().stream()

这个对象 需要在网关的nacos配置中增加如下代码

spring:
  cloud:
    gateway:
      routes:
        # APP模块
        - id: ruoyi-app
          uri: lb://ruoyi-app
          predicates:
            - Path=/app/**
          filters:
            - StripPrefix=1

网关中默认配置了 swagger-Ui


        <!-- 官方 Swagger UI 3.0 -->
        <!--        <dependency>-->
        <!--            <groupId>io.springfox</groupId>-->
        <!--            <artifactId>springfox-swagger-ui</artifactId>-->
        <!--            <version>${swagger.fox.version}</version>-->
        <!--        </dependency>-->

        <!-- 第三方 Swagger UI 被淘汰了 启用SwaggerBootstrapUi提供的增强功能 后会空白! -->
<!--        <dependency>-->
<!--            <groupId>com.github.xiaoymin</groupId>-->
<!--            <artifactId>swagger-bootstrap-ui</artifactId>-->
<!--            <version>1.9.6</version>-->
<!--        </dependency>-->

        <!--  第三方 swaggerUi https://gitee.com/xiaoym/knife4j  -->
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-spring-ui</artifactId>
            <version>2.0.9</version>
        </dependency>


        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>${swagger.fox.version}</version>
        </dependency>

官方3.0地址是 127.0.0.1:8080/swagger-ui/index.html

推荐使用 第三方维护的ui替换官方ui 注释更清晰 文档更人性

新ui地址为 127.0.0.1:8080/doc.html


        <!-- Swagger UI -->
<dependency>
      <groupId>com.github.xiaoymin</groupId>
     <artifactId>swagger-bootstrap-ui</artifactId>
     <version>1.9.6</version>
</dependency>

自定义服务的 pom.xml 中增加


        <!-- RuoYi Common Swagger -->
        <dependency>
            <groupId>com.ruoyi</groupId>
            <artifactId>ruoyi-common-swagger</artifactId>
        </dependency>

在自定义服务的main主类中增加

...

/**
 *  开启swagger
 */
@EnableCustomSwagger2

public class MyAppApplication {
    public static void main(String[] args) {
        SpringApplication.run(MyAppApplication.class, args);
        ...

在自定义服务的nacos的配置中增加  


# swagger配置
swagger:
  title: app模块接口文档
  license: Powered By kalun
  licenseUrl: https://www.apizza.net/project/7eca0397c4b96fcaa115be0ee654c9c6/browse

在定义的接口中 注释方法


    @ApiOperation(value = "将参数转换为JSON", notes = "")

入参参数添加注释


    @ApiParam(value = "版本号ApiParam", defaultValue = "2")

最终效果

第三方ui效果

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值