添加依赖
<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.8.0</version>
</dependency>
配置SweggerConfig
/**
* @Api: 用于类,标识这个类是swagger的资源
* @ApiIgnore: 用于类,忽略该 Controller,指不对当前类做扫描
* @ApiOperation: 用于方法,描述 Controller类中的 method接口
* @ApiParam: 用于参数,单个参数描述,与 @ApiImplicitParam不同的是,他是写在参数左侧的。如( @ApiParam(name="username",value="用户名")Stringusername)
* @ApiModel: 用于类,表示对类进行说明,用于参数用实体类接收
* @ApiProperty:用于方法,字段,表示对model属性的说明或者数据操作更改
* @ApiImplicitParam: 用于方法,表示单独的请求参数
* @ApiImplicitParams: 用于方法,包含多个 @ApiImplicitParam
* @ApiResponse: 用于方法,描述单个出参信息
* @ApiResponses: 用于方法,包含多个@ApiResponse
* @ApiError: 用于方法,接口错误所返回的信息
*
*
* Failed to start bean ‘documentationPluginsBootstrapper‘;解决方法
* 在application.properties里配置里添加:
* spring.mvc.pathmatch.matching-strategy=ANT_PATH_MATCHER
* 原因: 这是因为Springfox使用的路径匹配是基于AntPathMatcher的,而Spring Boot 2.6.X使用的是PathPatternMatcher。
*/
@Configuration // 标明是配置类
@EnableSwagger2 //开启swagger功能
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2) // DocumentationType.SWAGGER_2 固定的,代表swagger2
// .groupName("分布式任务系统") // 如果配置多个文档的时候,那么需要配置groupName来分组标识
.apiInfo(apiInfo()) // 用于生成API信息
.select() // select()函数返回一个ApiSelectorBuilder实例,用来控制接口被swagger做成文档
.apis(RequestHandlerSelectors.basePackage("com.jsd.controller")) // 用于指定扫描哪个包下的接口
.paths(PathSelectors.any())// 选择所有的API,如果你想只为部分API生成文档,可以配置这里
.build();
}
/**
* 用于定义API主界面的信息,比如可以声明所有的API的总标题、描述、版本
* @return
*/
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("测试") // 可以用来自定义API的主标题
.description("XX项目SwaggerAPI管理") // 可以用来描述整体的API
.termsOfServiceUrl("") // 用于定义服务的域名
.version("1.0") // 可以用来定义版本。
.build(); //
}
}
Testcontroller
@Api(tags = "测试管理")
@RestController
public class TestController {
@ApiOperation("测试方法")
@GetMapping("/test")
public String Test01(){
return "Test01";
}
}
访问路径
http://localhost:8080/swagger-ui.html
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。