Our-task介绍

本篇博客是我github上our-task:一个完整的清单办理体系的配套教程文档,这是SpringBoot+Vue开发的前后端分离清单办理工具,仿滴答清单。目前已布置在阿里云ECS上,可进行在线预览,随意运用(附详细教程),大家感兴趣的话,欢迎给个star!

整合步骤

maven依靠

<dependencies>
   <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-web</artifactId>
   </dependency><dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-test</artifactId>
     <scope>test</scope>
   </dependency>
   <!--Swagger-UI API文档生产工具-->
   <dependency>
     <groupId>io.springfox</groupId>
     <artifactId>springfox-swagger2</artifactId>
     <version>2.7.0</version>
   </dependency>
   <dependency>
     <groupId>io.springfox</groupId>
     <artifactId>springfox-swagger-ui</artifactId>
     <version>2.7.0</version>
   </dependency>
</dependencies>

User实体

新建User类,方便后续验证装备是否正确,其间

@ApiModelProperty用于方法,字段; 表明对model特点的说明或者数据操作更改。

public class User{
​
   @ApiModelProperty(value = "用户id")
   Integer id;
​
   @ApiModelProperty(value = "用户姓名")
   String username;
​
   @ApiModelProperty(value = "用户密码")
   String password;
​
   public User(String username, String password) {
     this.username = username;
     this.password = password;
   }
​
   @Override
   public String toString() {
     return "User{" +
         "username='" + username + ''' +
         ", password='" + password + ''' +
         '}';
   }
​
   public Integer getId() {
     return id;
   }
​
   public void setId(Integer id) {
     this.id = id;
   }
​
   public String getUsername() {
     return username;
   }
​
   public void setUsername(String username) {
     this.username = username;
   }
​
   public String getPassword() {
     return password;
   }
​
   public void setPassword(String password) {
     this.password = password;
   }
}

Swagger-UI装备类

大家只需要修改其间的basePackage(“com.example.demo.controller”),把这个改为自己的controller层的包名就能够了,Swagger-UI就会扫描该包下所有的Controller,从而显示在前段界面上。

@Configuration
@EnableSwagger2
public class Swagger2Config {
   @Bean
   public Docket createRestApi(){
     return new Docket(DocumentationType.SWAGGER_2)
         .apiInfo(apiInfo())
         .select()
         //为当时包下controller生成API文档
         .apis(RequestHandlerSelectors.basePackage("com.example.demo.controller"))
         .paths(PathSelectors.any())
         .build();
   }
​
   private ApiInfo apiInfo() {
     return new ApiInfoBuilder()
         .title("装备SwaggerUI")
         .description("Swagger-UI-Demo")
         .version("1.0")
         .build();
   }
}

UserController

@RestController
@Api(value = "用户控制器", tags = {"用户操作"})
public class UserController {
   @GetMapping("/hello")
   @ApiOperation("打招呼")
   public String hello(){
     return "你好,我是小娜";
   }
​
   @PostMapping("/login")
   @ApiOperation("登录")
   public String login(@RequestBody @ApiParam("用户目标") User user){
     return "你好" + user.toString();
   }
}

注解意义说明

  • @Api:润饰整个类,描绘Controller的效果
  • @ApiOperation:描绘一个类的一个方法,或者说一个接口
  • @ApiParam:单个参数描绘
  • @ApiModel:用目标来接纳参数
  • @ApiProperty:用目标接纳参数时,描绘目标的一个字段
  • @ApiResponse:HTTP呼应其间1个描绘
  • @ApiResponses:HTTP呼应整体描绘
  • @ApiIgnore:运用该注解疏忽这个API
  • @ApiError :发生错误返回的信息
  • @ApiImplicitParam:描绘一个恳求参数,能够装备参数的中文意义,还能够给参数设置默认值
  • @ApiImplicitParams:描绘由多个 @ApiImplicitParam 注解的参数组成的恳求参数列表

SpringBoot整合Swagger2