Swagger

Swagger

Swagger是什么

是目前最流行的API框架

为什么要使用Swagger

解决前后端API同步的问题

怎样使用Swagger

相关jar包:
Springfox Swagger2
Springfox Swagger UI

SpringBoot集成Swagger

新建一个SpringBoot=>web项目

导入相关依赖

<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>

config目录下创建一个SwaggerConfig配置类

@Configuration
//开启Swagger2
@EnableSwagger2
public class SwaggerConfig {

   @Bean
   Docket docket(Environment environment) {
       //设置要显示的Swagger环境
       Profiles profiles = Profiles.of("dev");
       //获取环境,判断是否处在profiles设定的环境中
       boolean flag = environment.acceptsProfiles(profiles);

       return new Docket(DocumentationType.SWAGGER_2)
              .apiInfo(apiInfo())
           //有多少groupName就有多少个Docket方法
              .groupName("久伴")
               /*
                   enable是否启用Swagger
                */
              .enable(true)
              .select()
               /*
                   basePackage配置要扫描的方式
                       basePackage扫描指定包
                       any()扫描全部
                       none()不扫描
                       withClassAnnotation扫描类上的注解
                       withMethodAnnotation扫描方法上的注解
                */
              .apis(RequestHandlerSelectors.basePackage("xyz.itdream.controller"))
               /*
                   paths过滤路径
                */
              .paths(PathSelectors.any())
              .build();
  }
   //配置swagger信息
   private ApiInfo apiInfo(){
       return new ApiInfo("久伴的SwaggerAPI文档",
               "要用魔法打败魔法",
               "1.0",
               "https://www.itdream.xyz",
               //作者信息
               new Contact("youquan", "https://www.itdream.xyz", "565745499@qq.com"),
               "Apache 2.0",
               "http://www.apache.org/licenses/LICENSE-2.0",
               new ArrayList());
  }
}

controller下新建一个HelloController

@RestController
@Api(tags = "用户数据接口")
public class HelloController {


   @GetMapping(value = "/hello")
   public String hello(){
       return "hello,swagger";
  }

   @PostMapping(value = "/user")
   public User user(){
       return new User();
  }
}

实体类User

@ApiModel("用户实体类")
public class User {
   @ApiModelProperty("密码")
   public String username;
   @ApiModelProperty("密码")
   public String password;
}

本文系作者 @ 原创发布在 IT梦。未经许可,禁止转载。

喜欢()
0 0 投票数
Article Rating
订阅评论
提醒
guest
0 评论
内联反馈
查看所有评论
27 文章
12 评论
76 喜欢
Top
0
希望看到您的想法,请您发表评论x
()
x