1. 程式人生 > 其它 >PHP資料結構(十) ——有向無環圖與拓撲演算法

PHP資料結構(十) ——有向無環圖與拓撲演算法

Swagger API文件

  • 前後端分離:

  • 前端就負責展示資料,資料從哪來?後端提供的介面中得到

  • 前端自己有一個叫偽造後端資料,json,這使得前端工程不需要後端仍可以跑起來

  • 前後端的互動就是通過api

  • 前後端相對獨立,低耦合

  • 前後端可以部署在不同的伺服器上

好處:

之前有一個專門提供後端介面api的工具,postman(不推薦使用了)

  1. 可以通過Swagger給一些比較難理解的屬性和介面增加註釋資訊
  2. 能線上實時測試後端提供的api,實時更新最新的api,降低整合的風險
  3. 後端提供介面,需要實時更新最新的

Swagger:

Swagger是一個優秀的工具
【注意點】在正式釋出專案的時候,記得關閉Swagger!!出於安全考慮。而且而且節省執行的記憶體

  • 號稱世界上最流行的Api框架
  • RestFul Api 線上文件自動生成工具 => Api文件與Api定義自動同步
  • 可以直接執行,可以在檢測時Api介面
  • 支援多種語言:java、php。。。
  • 去看官網
  • Swagger是老版的Swagger2是新版的

在專案中使用swagger 需要 springfox

  • swagger2
  • ui

SpringBoot整合Swagger

  • 需要用到jackson,進行json解析和序列化

  • 匯入maven依賴

    <!-- 整合Swagger -->
    <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. 配置類:SwaggerConfig
      @Configuration
      @EnableSwagger2
    2. 他會進行預設配置,我們就可以訪問
      swagger-ui.html
  • 一個Docket就是一個組group

    
    
  • 想要實現在測試環境才可以訪問swagger-ui介面,生產環境就不可以,
    可以使用@Value註解,或者是通過判斷當前環境的埠號。。。

常用註解

Swagger註解 簡單說明
@Api(tags = "xxx模組說明") 作用在模組類上
@ApiOperation("xxx介面說明") 作用在介面方法上
@ApiModel("xxxPOJO說明") 作用在模型類上:如VO、BO
@ApiModelProperty(value = "xxx屬性說明",hidden = true) 作用在類方法和屬性上,hidden設定為true可以隱藏該屬性
@ApiParam("xxx引數說明") 作用在引數、方法和欄位上,類似@ApiModelProperty

我們也可以給請求的介面配置一些註釋

@ApiOperation("狂神的介面")
@PostMapping("/kuang")
@ResponseBody
public String kuang(@ApiParam("這個名字會被返回")String username){
   return username;
}

@Value的用法 !!!

在使用 @RequestMapping註解的時候,是Get就寫@GetMapping註解,是Post就寫@PostMapping註解

報錯問題:

  1. 整合swagger報錯
    (2條訊息) 解決 高版本SpringBoot整合Swagger 啟動報錯Failed to start bean ‘documentationPluginsBootstrapper‘ 問題_摸魚佬的部落格-CSDN部落格
  2. ErrorsHide
    Parser error on line 19end of the stream or a document separator is expected

    報錯:原因:使用了Shiro許可權設定,還沒有登陸進行授權,所以訪問不了,需要先登入