第一步导入jar包
<dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-openapi2-spring-boot-starter</artifactId> <version>4.1.0</version> </dependency>
累了不想copy 自己去看吧Knife4j版本参考 | Knife4j
第二步写配置类 快夸我 让你直接copy
package com.it.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.service.Contact; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc; @Configuration public class Knife4jConfig { @Bean public Docket Api() { // 使用swagger2语法 Docket docket = new Docket(DocumentationType.SWAGGER_2) .apiInfo(new ApiInfoBuilder() //设置网站标题 .title("用心健康接口文档") .description("信息") .termsOfServiceUrl("http://long.com") .contact(new Contact("龙", "http://long.com", "@qq.com")) //许可证 .license("我许可") .licenseUrl("@qq.com") //版本 .version("0.0.1-SNAPSHOT") .build()) // 组名 .groupName("default") .select() // 设置根包路径 .apis(RequestHandlerSelectors.basePackage("com.it")) .paths(PathSelectors.any()) .build(); return docket; } } 第三步 你需要将doc.html页面和这个页面需要用到的静态资源放行 并且你需要在springmvc的配置中添加配置映射规则 看下面
package com.it.service; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; @Configuration public class WebMvcConfig extends WebMvcConfigurationSupport { /** * 配置静态资源 * @param registry */ @Override protected void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/"); registry.addResourceHandler("/jasperreports_extension.properties").addResourceLocations("classpath:/jasperreports_extension.properties"); /** 配置knife4j 显示文档 */ registry.addResourceHandler("doc.html") .addResourceLocations("classpath:/META-INF/resources/"); // 映射 Knife4j 的静态资源 registry.addResourceHandler("/webjars/**") .addResourceLocations("classpath:/META-INF/resources/webjars/"); super.addResourceHandlers(registry); } }
.antMatchers("/doc.html","/webjars/**", "/swagger-ui.html", "/v2/api-docs", "/swagger-resources/**") .permitAll()
这样。
第四步 写文档的标题等等上照片自己照着打吧
这是实体类的啊
这是controller
注意你的restful书写风格
好 有错留言一起讨论