springboot优雅地统一返回格式
生活随笔
收集整理的這篇文章主要介紹了
springboot优雅地统一返回格式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
web后端開發,統一后端數據的返回格式是每個項目都應該做的,得益于springboot的方法攔截,因此基于springboot可以非常優雅地統一返回的數據格式,以下是實現代碼(演示的返回格式:{code: 0, success: true, data:{})。
1:寫個枚舉定義狀態碼以及是否成功的標識:
2:數據格式封裝類ResultBuilder對控制器返回的數據進行封裝:
到這里,基本的封裝就完成了,可以在控制層進行使用。
讀到這,雖然數據封裝是實現了,但是并沒有達到我們想要的優雅,優雅實現如下:
這里的關鍵是ResponseBodyAdvice接口的beforeBodyWrite方法,springboot在結果寫給客戶端時候調用,只要寫一處,指定的包就都生效,需要注意的是ControllerAdvice注解最好指定生效的包名,不加包名的話會對整個系統的Controller進行擴展,會和某些功能產生沖突,如使用swagger出現空白頁異常。
運行結果:
?
?
總結
以上是生活随笔為你收集整理的springboot优雅地统一返回格式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Base64编码运用与基本原理
- 下一篇: gulp+babel实现es6压缩,并替