Swagger2简单使用
前后端分离很好用的api
<!--swagger-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
</dependency>
创建Swagger2配置文件
/**
* @author QiuQiu&LL
* @create 2021-06-20 14:43
* @Description:
*/
@Configuration
@EnableSwagger2
public class Swagger2Config {
@Bean
public Docket webApiConfig() {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("webApi")
.select()
//只显示api路径下的页面
.paths(Predicates.and(PathSelectors.regex("/api/.*")))
.build();
}
@Bean
public Docket adminApiConfig() {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("adminApi")
.select()
//只显示admin路径下的页面
.paths(Predicates.and(PathSelectors.regex("/admin/.*")))
.build();
}
private ApiInfo webApiInfo() {
return new ApiInfoBuilder()
.title("网站-API文档")
.description("本文档描述了网站微服务接口定义")
.version("1.0")
.contact(new Contact("Qbb", "https://mail.163.com", "startqbb@163.com"))
.build();
}
private ApiInfo adminApiInfo() {
return new ApiInfoBuilder()
.title("后台管理系统-API文档")
.description("本文档描述了后台管理系统微服务接口定义")
.version("1.0")
.contact(new Contact("Qbb", "https://mail.163.com", "startqbb@163.com"))
.build();
}
}
重启服务器查看接口
entity的实体类中可以添加一些自定义设置
@ApiModelProperty(value = "入驻时间", example = "2010-01-01")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
private Date joinDate;
@ApiModelProperty(value = "创建时间", example = "2019-01-01 8:00:00")
@TableField(fill = FieldFill.INSERT)
private Date gmtCreate;
@ApiModelProperty(value = "更新时间", example = "2019-01-01 8:00:00")
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date gmtModified;
定义接口说明和参数说明
定义在类上:@Api
定义在方法上:@ApiOperation
定义在参数上:@ApiParam
/**
* <p>
* 讲师 前端控制器
* </p>
*
* @author QiuQiu&LL
* @since 2021-06-19
*/
// @Api(description = "讲师管理")
@Api(tags = "讲师管理")
@RestController
@RequestMapping("/admin/edu/teacher")
public class TeacherController {
@Autowired
private TeacherService teacherService;
@ApiOperation("查询所有讲师列表")
@GetMapping("/list")
public List<Teacher> listAll() {
List<Teacher> list = teacherService.list();
return list;
}
@ApiOperation(value = "根据ID删除讲师", notes = "根据ID删除讲师,逻辑删除")
@DeleteMapping("/remove/{id}")
public boolean removeTeacherById(@ApiParam(value = "讲师ID") @PathVariable String id) {
return teacherService.removeById(id);
}
}

浙公网安备 33010602011771号