swagger注释使用(基于springboot框架)
swagger注释使用
一、导入swagger所需依赖
<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> 
二、swagger基本配置config
三、基于springboot开启使用
@EnableAsync
@SpringBootApplication
@MapperScan("com.zqs.dao")
@EnableSwagger2 //开启swagger2支持
public class SpringbootApplication {
          
   
    public static void main(String[] args) {
          
   
        // SpringApplication.run(Springboot01Application.class, args);
        SpringApplication springApplication = new SpringApplication(SpringbootApplication.class);
        //springApplication.setBannerMode(Banner.Mode.OFF);
        springApplication.run(args);
    }
} 
四、访问swagger(没有使用注释)
http://localhost/swagger-ui.html
可以看出来将所有的控制层都展示出来了
四、注释使用与效果(userController为例)
注释 1、@Api(value = “用户接口”,tags = “对用户的注册登录增删改查等操作的接口”)
用来改变接口名称
进入控制层查看方法(3个方法)
@Autowired
    private UserService userService;
    @GetMapping("queryAll")
    public ResultCommon queryAll(){
          
   
        return userService.queryAll();
    }
    @DeleteMapping("user/{id}")
    public String deleteStudent(@PathVariable("id") Integer id){
          
   
        log .info("根据id删除学生的方法执行了");
        return "delete success";
    }
    @GetMapping("student/{id}")
    public String getStudentById(@PathVariable("id") Integer id){
          
   
        log .info("根据id查询学生的方法执行了");
        return "get success";
    }  
注释 2、@ApiOperation()
@ApiOperation(value = “删除学生”,notes=“restfull风格接口,根据id删除学生”,httpMethod = “DELETE”)
注释 3、@ApiImplicitParams()
对多个参数的注释
@ApiOperation(value = "删除学生",notes="restfull风格接口,根据id删除学生",httpMethod = "DELETE")
     @ApiImplicitParams({
          
   
            @ApiImplicitParam(value = "学生id",dataType = "int"
            ,example = "1")
    }) 
注释 4、@ApiParm()
@ApiParam(value = “学生id”,defaultValue = “1” ,type = “int”,required = true)
public String deleteStudent(@ApiParam(value = "学生id",defaultValue = "1" ,type = "int",required = true) @PathVariable("id") int id){
          
   
        log .info("根据id删除学生的方法执行了");
        return "delete success";
    }  
注释 5、接受的参数是实体类的 Json对象
实体类
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "学生json对象描述",description="天青色等烟雨")
public class StudentSwagger {
          
   
    @ApiModelProperty(name="id",value = "学生id建议输入1-2000",example = "1",dataType = "int")
    private int id;
    @ApiModelProperty(name="name",value = "学生姓名,姓名长度再100字以内",example = "赵青松",dataType = "string")
    private String name;
} 
控制层方法
@ApiOperation("添加学生的接口,接受的参数为学生json对象")
    @PostMapping("student")
    public ResultCommon addStudentById(  @ApiParam(name = "studentSwagger",required = true) @RequestBody StudentSwagger studentSwagger ){
          
   
        log .info("根据id查询学生的方法执行了");
        return ResultCommon.success("添加学生成功");
    } 
swagger测试
