1.说明
注解 | 说明 |
---|
@Api | 对请求类的说明 |
@ApiOperation | 方法的说明 |
@ApiImplicitParams | 方法参数的说明 |
@ApiImplicitParam | 用于指定单个参数的说明,与@ApiImplicitParams一起使用 |
@ApiParam | 指定单个参数的说明 |
@ApiModel | 用在实体类(模型)上,表示相关实体的描述 |
@ApiModelProperty | 用在实体类属性上,表示属性的相关描述 |
2.pom.xml
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.1.RELEASE</version>
<relativePath/>
</parent>
<properties>
<swagger.version>2.7.0</swagger.version>
<knife4j.version>2.0.8</knife4j.version>
</properties>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${swagger.version}</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger.version}</version>
</dependency>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>${knife4j.version}</version>
</dependency>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>${knife4j.version}</version>
</dependency>
3.Swagger2配置信息
@Configuration
@EnableSwagger2
@EnableKnife4j
public class Swagger2Config {
@Bean
public Docket webApiConfig(){
return new Docket(DocumentationType.SWAGGER_2)
.groupName("webApi")
.apiInfo(webApiInfo())
.select()
.paths(Predicates.and(PathSelectors.regex("/api/.*")))
.build();
}
@Bean
public Docket adminApiConfig(){
return new Docket(DocumentationType.SWAGGER_2)
.groupName("adminApi")
.apiInfo(adminApiInfo())
.select()
.paths(Predicates.and(PathSelectors.regex("/admin/.*")))
.build();
}
private ApiInfo webApiInfo(){
return new ApiInfoBuilder()
.title("网站-API文档")
.description("本文档描述了网站微服务接口定义")
.version("1.0")
.contact(new Contact("林扬生", "", ""))
.build();
}
private ApiInfo adminApiInfo(){
return new ApiInfoBuilder()
.title("后台管理系统-API文档")
.description("本文档描述了后台管理系统微服务接口定义")
.version("1.0")
.contact(new Contact("林扬生", "", ""))
.build();
}
}
4.controller
@Api(tags = "用户接口")
@RestController
@RequestMapping("/admin/user")
public class UserController {
@Autowired
private UserService userService;
@ApiOperation("查询所有")
@GetMapping("findAll")
public ResultVo findAll() {
List<User> list = userService.list();
return ResultVo.ok().data("list", list);
}
@ApiOperation("根据ID删除")
@DeleteMapping("{id}")
public ResultVo removeById(@ApiParam(value = "用户id",required = true) @PathVariable Long id) {
boolean flag = userService.removeById(id);
if (flag) {
return ResultVo.ok().message("删除成功");
}
return ResultVo.fail().message("删除成功");
}
}
5.主启动配置
@ComponentScan(basePackages = {"com.qh"}) # swagger2扫描
@SpringBootApplication
@MapperScan("com.qh.mapper")
public class Application {
public static void main(String[] args) {
SpringApplication.run(HospApplication.class, args);
}
}
6.访问测试
http://localhost:8201/swagger-ui.html
http://localhost:8201/doc.html