PHP資料結構(十) ——有向無環圖與拓撲演算法
阿新 • • 發佈:2022-05-03
Swagger API文件
-
前後端分離:
-
前端就負責展示資料,資料從哪來?後端提供的介面中得到
-
前端自己有一個叫偽造後端資料,json,這使得前端工程不需要後端仍可以跑起來
-
前後端的互動就是通過api
-
前後端相對獨立,低耦合
-
前後端可以部署在不同的伺服器上
好處:
之前有一個專門提供後端介面api的工具,postman(不推薦使用了)
- 可以通過Swagger給一些比較難理解的屬性和介面增加註釋資訊
- 能線上實時測試後端提供的api,實時更新最新的api,降低整合的風險
- 後端提供介面,需要實時更新最新的
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>
-
編寫一個工程
-
寫配置
- 配置類:SwaggerConfig
@Configuration
@EnableSwagger2 - 他會進行預設配置,我們就可以訪問
swagger-ui.html
- 配置類:SwaggerConfig
-
一個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註解
報錯問題:
- 整合swagger報錯
(2條訊息) 解決 高版本SpringBoot整合Swagger 啟動報錯Failed to start bean ‘documentationPluginsBootstrapper‘ 問題_摸魚佬的部落格-CSDN部落格 -
ErrorsHide
Parser error on line 19end of the stream or a document separator is expected
報錯:原因:使用了Shiro許可權設定,還沒有登陸進行授權,所以訪問不了,需要先登入