Swagger的使用

剛開始學java的時候,各種學習都是匆忙,能夠盡快進入項目開發(fā),沒有總結之前學習的,后來重新自己創(chuàng)建項目,發(fā)現(xiàn)之前學的還是需要總結一下。
1.認識Swagger
Swagger是一個規(guī)范和完整的框架,用于生成、描述、調(diào)用和可視化RESTful風格的Web服務??傮w目標是使客戶端和文件系統(tǒng)作為服務器以同樣的速度來更新。文件的方法,參數(shù)和模型緊密集成到服務器端的代碼,允許API來始終保持同步。
2.首先在pom.xml中添加依賴

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

2.創(chuàng)建swagger2配置類

  • 在與spring boot集成時, 放在與啟動Application.java同級的目錄下在同一個目錄下。
  • 通過@Configuration注解,讓Spring來加載該類配置
  • 通過@EnableSwagger2注解來啟用Swagger2
    下面是我自己寫的簡單的配置類,僅供參考
package com.redisdemo.demo;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration
@EnableSwagger2
public class Swagger2Config {
    @Bean
    public Docket buildDocket() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())//調(diào)用下面apiInfo()方法
                .select()
                //Controller所在路徑
                .apis(RequestHandlerSelectors.basePackage("com.redisdemo.demo"))
                .paths(PathSelectors.any())
                .build();

    }

    public ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("springboot結合swagger2構建Restful API")
                .description("這是一個swagger2小型demo22")
                .termsOfServiceUrl("www.baidu.com")
                .contact("hwh")
                .version("0.0.1")
                .build();

    }
}

特別注意以上說明的兩個注解。其他開發(fā)中需要的注解慢慢學習應用

@Api:用在類上,說明該類的作用。

@ApiOperation:注解來給API增加方法說明。

@ApiImplicitParams : 用在方法上包含一組參數(shù)說明。

@ApiImplicitParam:用來注解來給方法入?yún)⒃黾诱f明。

@ApiResponses:用于表示一組響應

@ApiResponse:用在@ApiResponses中,一般用于表達一個錯誤的響應信息

  l   code:數(shù)字,例如400

  l   message:信息,例如"請求參數(shù)沒填好"

  l   response:拋出異常的類   

@ApiModel:描述一個Model的信息(一般用在請求參數(shù)無法使用@ApiImplicitParam注解進行描述的時候)

  l   @ApiModelProperty:描述一個model的屬性

完成配置之后,運行項目,訪問地址:http://localhost:8080/swagger-ui.html,這里并不一定是8080,要看你自己配置的接口是多少,還有l(wèi)ocalhost可以換成開發(fā)中的測試環(huán)境,開發(fā)環(huán)境等等。
以下是我大致訪問的界面:

image.png

大家可以自己嘗試配置一下,很簡單的。

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容