一、引入pom包
<!--knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案-->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>2.0.7</version>
</dependency>
二、配置
@Configuration
@EnableSwagger2WebMvc
public class Knife4jConfiguration {
@Bean
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;
}
}
三、注解
@Api(tags = "标签值API")
@RestController
@RequestMapping("/api/memberTagItem")
public class MemberTagItemController {
@ApiOperation("标签值新增")
@PostMapping("/addmemberTagItem")
public Boolean addmemberTagItem(@RequestBody @Validated AddMemberTagItemReqVO reqVO) {
return true;
}
}
四、出现问题
使用SpringBoot项目继承Knif4j访问doc.html页面,出现No mapping for GET /doc.html
@Configuration
public class WebMvcConfiguration implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
}
}
原因:因为doc.html是在jar包里的,需要使用资源处理器注册静态资源。