赞
踩
- <!-- swagger2 依赖配置-->
- <!-- <dependency>-->
- <!-- <groupId>io.springfox</groupId>-->
- <!-- <artifactId>springfox-swagger2</artifactId>-->
- <!-- <version>2.8.0</version>-->
- <!-- </dependency>-->
- <!-- <dependency>-->
- <!-- <groupId>io.springfox</groupId>-->
- <!-- <artifactId>springfox-swagger-ui</artifactId>-->
- <!-- <version>2.8.0</version>-->
- <!-- </dependency>-->
- <!-- Knife4j 依赖配置-->
- <dependency>
- <groupId>com.github.xiaoymin</groupId>
- <artifactId>knife4j-spring-boot-starter</artifactId>
- <version>2.0.7</version>
- </dependency>
1.在maven项目的pom.xml中引入Knife4j的依赖包
- <!-- Knife4j 依赖配置-->
- <dependency>
- <groupId>com.github.xiaoymin</groupId>
- <artifactId>knife4j-spring-boot-starter</artifactId>
- <version>2.0.7</version>
- </dependency>
2.创建Swagger配置依赖
按需求填写相关信息
如果不想编写配置类也可以,将@EnableSwagger2WebMvc标注在启动类上即可,就完成入门级别的整合
//这里指定Controller扫描包路径
.apis(RequestHandlerSelectors.basePackage("com.example.demo.controller"))
这里要填写自己的 工程路径
- /**
- * @author Gong XiuYi
- * @date 2022/2/23 9:56
- **/
- @Configuration
- @EnableSwagger2WebMvc
- public class Knife4jConfig {
- @Bean(value = "defaultApi2")
- public Docket defaultApi2() {
- Docket docket=new Docket(DocumentationType.SWAGGER_2)
- .apiInfo(new ApiInfoBuilder()
- .title("swagger-bootstrap-ui-demo RESTful APIs")
- .description("# swagger-bootstrap-ui-demo RESTful APIs")
- .termsOfServiceUrl("http://www.xx.com/")
- .contact("xx@qq.com")
- .version("1.0")
- .build())
- //分组名称
- .groupName("2.X版本")
- .select()
- //这里指定Controller扫描包路径
- .apis(RequestHandlerSelectors.basePackage("com.example.demo.controller"))
- .paths(PathSelectors.any())
- .build();
- return docket;
- }
- }
3.在 RESTful 基础上添加 以下两个注释
@Api(tags = {"用户接口"})
@ApiOperation(value="查询", notes="根据User对象创建用户")
- /**
- * @author Gong XiuYi
- * @date 2022/2/23 8:42
- **/
- @Api(tags = {"用户接口"})
- @RestController
- @RequestMapping("/RESTful")
- public class RestfulController {
-
- @Resource
- private BookRepository bookRepository;
-
- @ApiOperation(value="查询", notes="根据User对象创建用户")
- @GetMapping("/book/get/{userId}")
- public JsonResult getBook(@PathVariable String userId){
- Book book = new Book();
- book.setPrice(200F);
- book.setId(10L);
- book.setName(userId);
- bookRepository.save(book);
- return JsonResult.ok(bookRepository.findAll());
- }
此时,启动Spring Boot工程,在浏览器中访问:http://localhost:端口/doc.html
2.6.0开始使用基于PathPatternParser的路径匹配,而Springfox版本一直没有更新还是使用的AntPathMatcher导致了这个问题,要处理问题也很简单,修改yaml文件,将SpringBoot路径匹配模式修改为AntPathMatcher就可以了,
配置如下:spring.mvc.pathmatch.matching-strategy=ANT_PATH_MATCHER
mvc:
pathmatch:
matching-strategy: ANT_PATH_MATCHER
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。