免费在线a视频-免费在线观看a视频-免费在线观看大片影视大全-免费在线观看的视频-色播丁香-色播基地

Swagger --Api接口文檔

:2021年12月30日 aBiu
分享到:

前后端分離,后臺負責寫接口。隨著接口越來越多,隨時改變接口的可能性也很大,大家爭吵是很正常的。

Swagger簡介

前后端分離

最常見的:Vue + SpringBoot

前后端分離,后臺負責寫接口。隨著接口越來越多,隨時改變接口的可能性也很大,大家爭吵是很正常的。

解決方案

  • 先指定計劃提綱,事實更新API,降低集成風險

  • 傳統(tǒng)是需要自己去維護一個doc的文檔或者公司統(tǒng)一放在一個接口清單的web服務上。每次開發(fā)者需要單獨添加上去。修改后還需要維護。

  • 前后端分離:

    • 前端測試后端接口:postman,就為了測一個接口還要下載第三方軟件,太奢侈了

    • 后端提供接口,實時更新消息及變動

現(xiàn)接入swagger,通過簡單的注解即可生成文檔,并且隨著接口變化自動會變化。統(tǒng)一管理方便快捷

Swagger

  • 號稱最流行的API框架

  • RestFul Api 文檔在線自動生產(chǎn),Api文檔與定義同步更新

  • 直接運行,可以在線測試接口

  • 支持多種語言(java、php等)

官網(wǎng):https://swagger.io/

SpringBoot集成Swagger

1.新建SpringBoot項目
2.導入依賴

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

3.隨便寫一個controller接口,比如 hello
4.配置swagger2,swagger2 是新版的,和swagger 是不一樣的哦!

/**
 * @author : aBiu---
 *
 * create at:  2019-12-20  16:20
 *
 * description: api接口配置
 */@Configuration@EnableSwagger2     // 開啟public class SwaggerConfig {  private ApiInfo apiInfo() {    return new ApiInfoBuilder().title("API接口文檔") //頁面標題
        .description("接口管理")//詳細描述
        .version("1.0.0") //版本號
        .build();
  }  @Bean
  public Docket createRestApi() {    return new Docket(DocumentationType.SWAGGER_2)
        .apiInfo(apiInfo())     // 需要上面定義的ApiInfo,信息顯示到頁面上
        .groupName("aBiu")      // 分組,如果想搞多個分組,就寫多個Docket 的示例就行了
        .select()
        .apis(RequestHandlerSelectors.basePackage("com.*")) //這里寫的是API接口所在的包位置,也可以設置其他掃描方式
        .paths(PathSelectors.any())     // 過濾,有好幾種方式可以設置
        .build();
  }
}

5.測試運行,然后訪問:http://localhost:8080/swagger-ui.htmlhttp://localhost:8080/swagger-ui/index.html

由于版本的不同,可能名字不一樣,具體可以到jar包里去看一下就好了

Swagger注解

@Api:          修飾類,一般來描述Controller的@ApiOperation:     描述類的 方法 或者 接口@ApiParam:       單個參數(shù)描述@ApiModel:       用在實體類上面@ApiProperty:     實體類里面的屬性@ApiImplicitParam:      用在 @ApiImplicitParams 注解中,指定一個請求參數(shù)的配置信息               
                name:參數(shù)名        
                value:參數(shù)的漢字說明、解釋        
                required:參數(shù)是否必須傳        
                paramType:參數(shù)放在哪個地方            · 
                header --> 請求參數(shù)的獲?。篅RequestHeader            · 
                query --> 請求參數(shù)的獲?。篅RequestParam            · 
                path(用于restful接口)--> 請求參數(shù)的獲?。篅PathVariable            · 
                body(不常用)            · 
                form(不常用)            
                dataType:參數(shù)類型,默認String,其它值dataType="Integer"                               defaultValue:參數(shù)的默認值
                其它若干@ApiResponse:     描述HTTP響應其中1個的描述@ApiResponses:     描述出HTTP響應整體描述@ApiClass@ApiError@ApiErrors@ApiParamImplicit@ApiParamsImplicit

示例:一個接口的說明(controller類)

/**
     * XXX 認證人員信息接口
     * @param signerType
     * @param certType
     * @param certNo
     * @param name
     * @param phoneNo
     * @param cardNo
     * @param signSupplier
     * @param authType
     * @param notifyUrl
     * @return
     */
    @ApiOperation(value = "XXX 的接口", httpMethod = "POST")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "String", name = "signerType", dataType = "String", required = true, value = "簽署人類型:1.個人,2.企業(yè)"),
            @ApiImplicitParam(paramType = "String", name = "certType", dataType = "String", required = false, value = "證件類型:簽署人類型是個人時必填"),
            @ApiImplicitParam(paramType = "String", name = "certNo", dataType = "String", required = false, value = "簽署人類型:簽署人類型是個人時必填"),
            @ApiImplicitParam(paramType = "String", name = "name", dataType = "String", required = true, value = "姓名"),
            @ApiImplicitParam(paramType = "String", name = "phoneNo", dataType = "String", required = false, value = "手機號:簽署人類型是個人時必填"),
            @ApiImplicitParam(paramType = "String", name = "notifyUrl", dataType = "String", required = false, value = "回調(diào)地址")
    })
    @PostMapping("/signerInfo")
    public ResultInfo signerInfo(String signerType, String certType, String certNo, String name, String phoneNo, @RequestParam(required = false) String notifyUrl){        return contractService.signerInfo(signerType,certType,certNo,name,phoneNo,cardNo,signSupplier,authType,notifyUrl);
    }
項目發(fā)布上線時候,一定要記得,一定要記得,把swagger 關閉,因為你不可能讓用戶看到你的接口吧?

生成漂亮的ui界面

加入依賴

    <dependency>
        <groupId>com.github.caspar-chen</groupId>
        <artifactId>swagger-ui-layer</artifactId>
        <version>1.1.3</version>
    </dependency>

訪問地址 http://localhost:8080/docs.html

這個好像沒有分組的屬性,如果swagger配置時候加了分組,在這里會有異常

[我要糾錯]
[ 編輯:王振袢 &發(fā)表于江蘇 ]
關鍵詞: Swagger 簡介 后端 分離 常見

來源:本文內(nèi)容搜集或轉(zhuǎn)自各大網(wǎng)絡平臺,并已注明來源、出處,如果轉(zhuǎn)載侵犯您的版權或非授權發(fā)布,請聯(lián)系小編,我們會及時審核處理。
聲明:江蘇教育黃頁對文中觀點保持中立,對所包含內(nèi)容的準確性、可靠性或者完整性不提供任何明示或暗示的保證,不對文章觀點負責,僅作分享之用,文章版權及插圖屬于原作者。

點個贊
0
踩一腳
0

您在閱讀:Swagger --Api接口文檔

Copyright©2013-2025 ?JSedu114 All Rights Reserved. 江蘇教育信息綜合發(fā)布查詢平臺保留所有權利

蘇公網(wǎng)安備32010402000125 蘇ICP備14051488號-3技術支持:南京博盛藍睿網(wǎng)絡科技有限公司

南京思必達教育科技有限公司版權所有   百度統(tǒng)計

主站蜘蛛池模板: 亚洲欧美人成综合在线最新 | 男人操女人免费网站 | 国产精品久久久天天影视香蕉 | 高清色黄毛片一级毛片 | 天天摸夜夜摸成人免费视频 | 国产色婷婷精品综合在线手机播放 | japan高清日本乱xxxx | 午夜va | 婷婷在线视频观看 | 老妇毛片 | 一级一片一_级一片一 | 精品国产v无码大片在线观看 | 欧美日韩免费一区二区三区 | 欧美人成在线观看网站高清 | 99九九视频高清在线 | 一级黄色录像放 | 在线播放黄 | 在线观看中文字幕一区 | 91在线精品麻豆欧美在线 | 日韩理论在线观看 | 一个人看的免费在线视频 | 日韩字幕 | 成人免费视频在线看 | 成人在线播放av | 欧美色射| 在线成人影片 | 一区二区三区四区在线观看视频 | 久热这里只精品99re8久 | 欧美人与动交tv | 日日摸日日碰夜夜97 | 免费看黄的动漫永久免费 | 就操视频| a天堂中文在线官网 | 亚洲成aⅴ人片在线影院八 亚洲成av人片在线观看 | 久久www视频 | 成人免费看黄网站无遮挡 | 成人免费网址在线 | 国产成人亚综合91精品首页 | 2019中文字幕在线观看 | 国产日韩在线观看视频 | 亚洲 欧美 手机 在线观看 |
最熱文章
最新文章
  • 阿里云上云鉅惠,云產(chǎn)品享最低成本,有需要聯(lián)系,
  • 卡爾蔡司鏡片優(yōu)惠店,鏡片價格低
  • 蘋果原裝手機殼