溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Spring Boot中的Swagger UI定制

發(fā)布時(shí)間:2024-10-05 16:33:03 來(lái)源:億速云 閱讀:81 作者:小樊 欄目:編程語(yǔ)言

在Spring Boot項(xiàng)目中使用Swagger UI時(shí),可以通過(guò)以下步驟進(jìn)行定制:

  1. 引入依賴: 確保你的pom.xml文件中已經(jīng)引入了Swagger的相關(guān)依賴。例如:
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.9.2</version>
</dependency>
  1. 創(chuàng)建Swagger配置類(lèi): 創(chuàng)建一個(gè)配置類(lèi),例如SwaggerConfig.java,并使用@EnableSwagger2注解來(lái)啟用Swagger。在這個(gè)類(lèi)中,你可以定義API的基本信息、描述、版本等,以及指定API的掃描路徑。
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.example.demo.controller"))
                .paths(PathSelectors.any())
                .build()
                .apiInfo(apiInfo());
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("My API")
                .description("My API description")
                .version("1.0")
                .build();
    }
}
  1. 定制Swagger UI: 在SwaggerConfig.java中,你可以通過(guò)Docket對(duì)象來(lái)自定義Swagger UI的顯示。例如,你可以更改主題顏色、添加圖標(biāo)、設(shè)置頁(yè)面標(biāo)題等。
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.*;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.example.demo.controller"))
                .paths(PathSelectors.any())
                .build()
                .apiInfo(apiInfo())
                .useDefaultResponseMessages(false)
                .globalOperationParameters(getGlobalOperationParameters())
                .pathMapping("/v1"); // 自定義API的基本路徑
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("My API")
                .description("My API description")
                .version("1.0")
                .build();
    }

    private List<GlobalOperationParameter> getGlobalOperationParameters() {
        return Arrays.asList(
                new GlobalOperationParameterBuilder()
                        .name("token")
                        .description("用戶認(rèn)證token")
                        .modelRef(new ModelRef("string"))
                        .parameterType("header")
                        .required(false)
                        .build()
        );
    }
}

此外,你還可以通過(guò)訪問(wèn)http://localhost:8080/swagger-ui.html(假設(shè)你的應(yīng)用運(yùn)行在8080端口)來(lái)查看和定制Swagger UI。在這個(gè)頁(yè)面上,你可以找到很多用于定制UI的選項(xiàng),例如更改主題顏色、添加圖標(biāo)等。

注意:以上示例代碼是基于Spring Boot 2.x和Swagger 2.9.2的,如果你使用的是其他版本,可能需要相應(yīng)地調(diào)整代碼。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI