首頁  >  文章  >  Java  >  springboot專案中怎麼使用Swagger

springboot專案中怎麼使用Swagger

王林
王林轉載
2023-05-13 08:28:121700瀏覽

1、Swagger是啥

Swagger 是用來產生、描述和呼叫 RESTful 介面的 Web 服務。通俗的來講,Swagger 就是將專案中所有(想要暴露的)介面展現在頁面上,並且可以進行介面呼叫和測試的服務。 

2、Swagger有什麼用?

 Swagger 有以下3 個重要的功能:將專案中所有的介面展現在頁面上,這樣後端程式設計師就不需要專門為前端使用者編寫專門的介面文件;當介面更新之後,只需要修改程式碼中的Swagger 描述就可以即時產生新的介面文件了,從而規避了介面文件老舊不能使用的問題;透過Swagger 頁面,我們可以直接進行介面調用,方便我們開發。

3、springboot中如何引入Swagger

1)在如依賴

        <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>

2)建立一個controller類別

import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
 
@RestController
public class TestController {
 
    @PostMapping("/hello")
    public String hello(String str){
        return "hello,"+str;
    }
}

3)再建立一個Swagger配置類別SwaggerConfig類別

@Configuration
@EnableSwagger2//开始Swagger2
public class SwaggerConfig {
 
 
    //配置了Swagger 的Docket的bean实例
    @Bean
    public Docket docket(){
 
        ParameterBuilder ticketPar = new ParameterBuilder();
        List<Parameter> pars = new ArrayList<>();
        ticketPar.name("Authorization").description("token")//Token 以及Authorization 为自定义的参数,session保存的名字是哪个就可以写成那个
                .modelRef(new ModelRef("string")).parameterType("header")
                .required(false).build(); //header中的ticket参数非必填,传空也可以
        pars.add(ticketPar.build());    //根据每个方法名也知道当前方法在设置什么参数
 
        return new Docket(DocumentationType.SPRING_WEB)
                .apiInfo(apiInfo())
                .select()
                //RequestHandlerSelectors, 配置要扫描接口的方式
                //basePackage:指定要扫描的包
                //any():扫描全部
                //withClassAnnotation: 扫描类上的注解
                //withMethodAnnotation: 扫描方法上的注解
                .apis(RequestHandlerSelectors.basePackage("com.example.swagger.controller"))
                .build()
                .globalOperationParameters(pars);
    }
 
    //配置Swagger 信息=apiInfo
    private ApiInfo apiInfo(){
        return new ApiInfo(
                "Logistics Api",//文檔命名
                "test",//文檔描述
                "v1.0",//
                "http:127.0.0.1/",
                null,//contact
                "Apache 2.0",
                "http://www.apache.org/licenses/LICENSE-2.0",
                new ArrayList()
        );
    }
}

注意!

注意!

注意!

把apis(RequestHandlerSelectors.basePackage("com.example.swagger.controller"))中的

「com.example.swagger.controller 」路徑寫成你自己的controller包的路徑

4、專案的整體結構

springboot專案中怎麼使用Swagger

5、透過網址存取網頁

在完成以上步驟之後點選運行,等運行完後來在瀏覽器中存取以下網址:

http://127.0.0.1:8080/swagger-ui.html#/

這裡的連接埠要改為自己的連接埠。

效果如圖所示

springboot專案中怎麼使用Swagger

以上是springboot專案中怎麼使用Swagger的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除