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