Documento oficial: https://doc.xiaominfo.com/knife4j/documentation/description.html
No início, a intenção original do projeto era escrever uma versão aprimorada da interface do usuário front-end do swagger, mas com o desenvolvimento do projeto, em face de necessidades cada vez mais personalizadas, o código Java back-end tinha para ser escrito para atender às novas necessidades, em swagger- Entre as versões 1.8.5 e 1.9.6 do bootstrap-ui, o código Java back-end e a IU são misturados em um pacote Jar para os desenvolvedores usarem. Embora este método seja bastante conveniente para integração swagger, você só precisa apresentar o pacote jar, mas é um pouco inchado sob a arquitetura de microsserviço.
Tentei, é muito bom ~~
Ok, adicione um iniciador
<!--knife4j-->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>2.0.8</version>
</dependency>
Escreva a classe de configuração novamente
@Configuration
@EnableSwagger2WebMvc // 更换注解
public class Knife4jConfiguration {
@Bean
public Docket createRestApi() {
ApiInfo apiInfo = new ApiInfoBuilder()
// 文档标题
.title("Spring-boot项目")
//文档描述
.description("V2.0接口规范")
//服务条款URL
.termsOfServiceUrl("http://127.0.0.1:80/")
//版本号
.version("2.0.0")
.build();
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo)
//是否开启
.enable(true)
.select()
//设置basePackage会将包下的所有被@Api标记类的所有方法作为api
.apis(RequestHandlerSelectors.basePackage("com.knife4j.demo.controller"))
//指定路径处理PathSelectors.any()代表所有的路径
.paths(PathSelectors.any())
.build();
}
}
Em seguida, escreva um comentário no controlador
@Controller
@Api(value = "页面接口",description = "跳转接口测试")
public class HelloController {
@RequestMapping("/hello")
@ApiImplicitParam(name = "url",value = "null",required = true)
@ApiOperation(value = "跳转hello页面")
public String index(){
return "hello";
}
}
Por precaução, adicione uma anotação @ EnableKnife4j à classe de inicialização
Startup ... Ainda
é bom para o desenvolvimento, reduzindo o tempo para escrever documentos de desenvolvimento