參考資料:
https://www.in28minutes.com/microservices-and-restful-services-with-spring-boot-for-beginners
https://spring.io/guides/tutorials/bookmarks/
一、Controller 對於 Post接口寫法
舊寫法:
新寫法:
模型寫法:
修改后swagger展示效果:
說明:
1、@ApiImplicitParam 中的東西顯得多余
2、在RESTFUL風格中,從資源角度考慮的話,@PostMapping 本身表示的就是要添加一個資源,其后可以不添加路由
3、@RequestBody 中的 @ApiParam 顯的多余
4、在BdAreaRegion模型類中加入@ApiModelProperty 可以讓前端swagger顯示更清晰
說明:
1、類似這種輸入參數的空值判斷可以在架構層面利用切面統一來處理 或者用 @Valid 注解來校驗
二: Controller 中對於 delete 接口寫法
舊寫法:
新寫法:
說明:
1、刪除的話用 @DeleteMapping 能更清晰的表示此操作
2、一般操作的話都是通過主鍵進行刪除
3、在設計上應該注意此刪除的話是應該從數據庫中進行硬刪除還是只是做個標記進行軟刪除
三: Controller 中對於 put 接口寫法
舊寫法:
新寫法:
說明:
1、更新單個信息最好具體明確要更新的唯一標識,然后加上更新后的數據
2、數據驗證判斷應該用切面或者是其他方式來做
四:Controller 中對於批量更新 put接口寫法
舊寫法:
新寫法:
說明:
1、最好的話就不應該用Map 來進行入參傳遞, 應該用類列表或數組來進行傳遞
2、對於參數入參應盡量表達清楚信息否則以后難以維護,特別在前后端分離的開發方式下
五: Controller 中 get 接口寫法
舊方法:
新方法;
說明:
1、修改路由名: 因為根據RESTFUL 風格, 在路由中一般是不包含動詞,只是包含資源, 動詞一般用Get/Post/Put/Delete等Http中的操作符表示, 這也是為什么RESTFUL風格很好利用了HTTP協議的一種體現
2、一般Get方法的簡單數據傳遞用參數傳遞或者路徑傳遞,不用Body傳遞
舊方法:
說明:
1、一般在函數傳參的過程中形參數量超過5個需要用類包裝起來
2、如果用類把形參包裝起來之后那@ApiImplicitParams 這些注釋就可以不需要, 直接在類中寫
3、為了更好的區分概念和共用的意圖, 可以把分頁(current/pageSize)兩個字段封裝成Pager類,用來表達分頁的概念,這樣其它所有的查詢分頁相關的函數都可以用Pager表達
4、一般簡單路由中不需要帶動詞,除非是比較復雜的情況
轉 https://www.cnblogs.com/PengQuanfeng/p/9882595.html














