当前位置:   article > 正文

【使用Knife4j美化你的Swagger UI】_knife4jui

knife4jui

使用Knife4j美化你的Swagger UI

在许多开发过程中,我们需要用到API文档来帮助我们更好地理解和使用各种接口。Swagger是一款非常流行的API文档生成工具,然而它的界面设计略显简陋。这时,我们可以使用Knife4j来进行美化。Knife4j是一个基于Swagger的增强UI实现,为Java开发者提供了一种简洁的、动态的API文档展示工具。

一、引入依赖

首先,我们需要在项目的pom.xml文件中添加Knife4j和Swagger的相关依赖:

<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>knife4j-spring-boot-starter</artifactId>
    <version>2.0.8</version>
</dependency>

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.9.2</version>
</dependency>

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

注意:版本号可能会有所不同,请根据实际情况选择。

二、配置Swagger

接下来,我们需要在Spring Boot项目中创建一个新的配置类,例如SwaggerConfiguration.java,并在其中配置Swagger的相关信息:

@Configuration
@EnableSwagger2
public class SwaggerConfiguration {

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.example.demo"))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("API Documentation")
                .description("API Information")
                .termsOfServiceUrl("http://www.example.com/")
                .version("1.0")
                .build();
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

在这里,我们通过@EnableSwagger2注解启用了Swagger,并通过@Bean注解创建了一个Docket对象,该对象包含了API文档的主要信息。我们还可以通过.apis(RequestHandlerSelectors.basePackage("com.example.demo"))指定扫描的包路径,以生成特定包下的API文档。

三、启动时输出接口文档地址

为了方便查看API文档,我们可以在项目启动时输出接口文档的地址。为此,我们需要在Spring Boot的启动类中添加如下代码:

@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        ConfigurableApplicationContext context = SpringApplication.run(DemoApplication.class, args);
        Environment env = context.getBean(Environment.class);
        String ip = InetAddress.getLocalHost().getHostAddress();
        String port = env.getProperty("server.port");
        String path = env.getProperty("server.servlet.context-path");
        path = path == null ? "" : path;
        System.out.println("本地访问链接: http://"+ip+":"+port+path+"/doc.html");
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

在这里,我们通过InetAddress.getLocalHost().getHostAddress()获取了本机IP,通过env.getProperty("server.port")获取了端口号,然后将它们拼接成一个完整的URL。

四、访问接口文档

至此,我们已经完成了所有的配置工作。现在,只需启动Spring Boot项目,然后在浏览器中输入上述输出的URL,即可看到美化后的Swagger UI界面。

注意:以上代码仅供参考,实际使用时请根据项目需求进行适当修改。

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号