Spring Boot API可視化Swagger
Swagger
不管是對內對外,提供介面的一方必須要有配套的API文檔。
我們公司以前在做Server端的時候,都是由開發人員編寫,現實情況大家都清楚,給你的開發時間恨不得壓縮再壓縮,哪有時間去寫文檔,更何況需求變來變去,介面變來變去,開發要快速響應,及時更新文檔的時間領導未必給,或者開發人員單純就犯懶了,導致介面文檔更新很不及時。
Swagger就是API文檔、測試的好工具。
工程構建
先構建一個Spring Boot工程,快遞單服務,有增刪改查獲取列表5個HTTP介面。
代碼結構如下:
代碼結構
Bo類:ExpressBo:int id,String fromAddr;String toAddr
Vo類:ExpressReq:String fromAddr;String toAddr
ExpressRes:int recode;String restr;List<ExpressBo>
Controller:
public ExpressRes exprGet(Integer id);
public ExpressRes exprsGet();
public ExpressRes exprPost(ExpressReq req);
public ExpressRes exprPut(ExpressReq req,Integer id);
public ExpressRes exprDel(Integer id);
application.yml:
application.yml
運行Spring Boot,使用Postman對5個方法進行測試,結果如下:
獲取列表
根據ID獲取詳情
新增
修改
刪除
Swagger配置
pom增加依賴:
pom.xml
新建Swagger2Config:
Swagger配置項
Value是寫在application.yml裡面的,還可以結合Spring Cloud Config。apiInfo這個方法里還能填充更多的信息。
swagger2Docket裡面還能做更多的配置,比如對時間類的轉換等等。具體大家參考官方文檔即可。
API配置
對類的配置:
實體類
請求類
響應類
對Controller的配置:
Controller
對方法的配置:
1
2
如果參數有多個,就要用@ApiImplicitParams包住@ApiImplicitParam
3
注意紅框的paramType,如果我們的參數是在url裡面,這個要設置成path。
結果
啟動工程,訪問http://localhost:4444/swagger-ui.html
介面API頁面
點擊進去,可以查看詳細的介面信息,還能進行測試(不用Postman啦)。具體API的註解項大家參看官方文檔即可。
※Spring Cloud服務追蹤與日誌聚合
※Spring Cloud分散式配置中心Config
※Spring Cloud斷路器Hystrix
※Spring Cloud服務間調用Feign
※Spring Cloud網關&負載均衡Zuul&Ribbon
TAG:Java個人學習心得 |
※Spring data MongoDB 之 MongoRepository
※SpringBoot:SpringDataRedis緩存改造
※Spring MVC之DispatcherServlet初始化詳解
※Spring Security 5.0 的 DelegatingPasswordEncoder 詳解
※Spring Boot中使用AOP
※簡單嘗試Spring Cloud Gateway
※Springboot2.X之切換使用Servlet容器Jetty、Tomcat、Undertow
※Spring Boot使用MongoDB
※使用gradle生成Spring Boot應用的Docker Image
※SpringBoot 系列一 : SpringBoot 入門
※使用Spring Cloud和Reactor在微服務中實現Event Sourcing
※Spring Boot與Kotlin 使用MongoDB資料庫
※網關 Spring-Cloud-Gateway 源碼解析——路由之RouteDefinitionLocator一覽
※Spring Cloud Alibaba Sentinel 整合 Feign 的設計實現
※Spring中BeanFactory和ApplicationContext 的區別
※Spring4+hibernate+SpringMvc整合
※Spring Boot與Kotlin使用Spring-data-jpa簡化數據訪問層
※Spring核心——Stereotype組件與Bean掃描
※Spring Cloud Gateway的After路由斷言工廠
※springboot:使用Spring Boot Actuator監控應用