SpringBoot-Integrate Knife4j

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
Insira a descrição da imagem aqui
é bom para o desenvolvimento, reduzindo o tempo para escrever documentos de desenvolvimento

Acho que você gosta

Origin blog.csdn.net/qq_36008278/article/details/114367693
Recomendado
Clasificación