美文网首页
生成api接口文档 swagger集成

生成api接口文档 swagger集成

作者: ml66 | 来源:发表于2019-10-09 10:19 被阅读0次
    1-1)pom.xml中引入下方依赖jar包
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
        </dependency>
    
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.9.2</version>
        </dependency>
    
    
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>swagger-bootstrap-ui</artifactId>
            <version>1.9.1</version>
        </dependency>
    
    
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>20.0</version>
        </dependency>
    
    1-2)主启动类上加@EnableSwagger2 注解开启swagger
    1-3)访问:项目地址/swagger-ui.html 查看生成的实时接口文档
    @Api(value="用户controller",tags={"用户操作接口"})
    @RestController
    public class UserController {
         @ApiOperation(value="获取用户信息",tags={"获取用户信息copy"},notes="注意问题点")
         @GetMapping("/getUserInfo")
         public User getUserInfo(@ApiParam(name="id",value="用户id",required=true) Long id,@ApiParam(name="username",value="用户名") String username) {
         // userService可忽略,是业务逻辑
          User user = userService.getUserInfo();
          return user;
      }
    }
    
    1-4)分组:通过配置类来配置不同的分组
    @Configuration
    @EnableSwagger2
    public class SwaggerConfig {
        @Bean
        public Docket docket(){
            return new Docket(DocumentationType.SWAGGER_2)
                    .groupName("用户组")
                    .select()
                    .apis(RequestHandlerSelectors.basePackage("com.example.demo.controller"))
                    .build();
        }
    }
    
    1-5) swagger2接口url如何设置为服务器的ip而不是127.0.01

    swagger2是一款不错的接口查看工具,我们可以通过开发完接口后只需进行相应的配置后,通过swagger查看每个接口的使用说明以及返回值,但是swagger2默认接口是127.0.0.1的,这样前端人员在测试接口时使用的是127.0.0.1地址而不是部署该接口部署服务器的地址,在swagger2中我们可以在创建Docket时设置对应服务器地址,具体代码如下:

    @Configuration
    public class SwaggerConfig {
     
        @Value("${swagger2.host:127.0.0.1:8080}")
        private String swaggerHost;
     
        @Bean
        public Docket createRestApi() {
     
            return new Docket(DocumentationType.SWAGGER_2)
                    .host(swaggerHost)
                    .apiInfo(apiInfo())
                    .select()
                    .apis(RequestHandlerSelectors.basePackage("jtl3d"))
                    .paths(PathSelectors.any())
                    .build();
        }
    }
    

    然后在配置文件中配置swagger2.host即可,如下图

    yml文件中配置:

    # swagger配置
    swagger2:
      host: 192.168.1.102:9000
    

    相关文章

      网友评论

          本文标题:生成api接口文档 swagger集成

          本文链接:https://www.haomeiwen.com/subject/vzpwpctx.html