Java封裝公共Result結(jié)果返回類的實(shí)現(xiàn)
前言
在使用Java開發(fā)接口請(qǐng)求中,我們需要對(duì)請(qǐng)求進(jìn)行進(jìn)行統(tǒng)一返回值,這時(shí)候我們自己封裝一個(gè)統(tǒng)一的Result返回類,下面就介紹下我用的這種的這個(gè)類
當(dāng)然,也可以使用第三方庫封裝的Result結(jié)果返回類,根據(jù)個(gè)人喜好選擇即可。
封裝公共Result類
首先需要?jiǎng)?chuàng)建一個(gè)Result類:
我的想法是:需要有一個(gè)請(qǐng)求成功的響應(yīng)。一個(gè)請(qǐng)求失敗的響應(yīng),如果請(qǐng)求
成功需要返回請(qǐng)求結(jié)果,如果請(qǐng)求失敗則返回失敗原因,且每一個(gè)請(qǐng)求都要帶上當(dāng)前時(shí)間戳,請(qǐng)求狀態(tài)(200:成功,400:失敗),是否成功(true成功 or false失敗)
順著這個(gè)思路,就寫出了下面的代碼:
如果你也有不同的思路和建議,歡迎評(píng)論留言
package com.wyh.common; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import java.util.List; @Data @NoArgsConstructor @AllArgsConstructor /** * @Author 魏一鶴 * @Description 公共Result返回類 * @Date 23:19 2023/1/3 **/ public class Result { /** * 是否成功 **/ private Boolean isSuccess; /** * 錯(cuò)誤信息 **/ private String errorMsg; /** * 請(qǐng)求狀態(tài) 200-成功 400-失敗 **/ private Integer status; /** * 當(dāng)前時(shí)間戳 **/ private Long timestamp; /** * 返回結(jié)果 **/ private Object data; public static Result ok() { return new Result(true, null, 200, System.currentTimeMillis(),null); } public static Result ok(Object data) { return new Result(true, null, 200,System.currentTimeMillis(),data); } public static Result ok(List<?> data) { return new Result(true, null, 200,System.currentTimeMillis(),data); } public static Result fail(String errorMsg) { return new Result(false, errorMsg, 400,System.currentTimeMillis(),null); } }
這樣一個(gè)公共Result結(jié)果返回類就寫好了,我們簡單寫兩個(gè)接口分別測試下失敗或者失敗吧!
成功測試
首先測試下成功的響應(yīng):data里面就查出來的數(shù)據(jù)
數(shù)據(jù)有點(diǎn)多,我們把data合上看下整體結(jié)構(gòu):
是我們想要的返回格式
失敗測試
接下來測試下請(qǐng)求失敗的情況:如圖我給方法新增了一個(gè)參數(shù)name,如果參數(shù)name為空,name就會(huì)請(qǐng)求失敗并且返回錯(cuò)誤信息
ps:判斷參數(shù)是否為空應(yīng)該放在service里面處理,我這里演示就懶得這么寫了
參數(shù)為空的話,請(qǐng)求失敗并且返回錯(cuò)誤信息
當(dāng)然如果name不為空,就是請(qǐng)求成功的:
總結(jié)
以上就是我自己寫的一個(gè)Result結(jié)果返回類,對(duì)于現(xiàn)在的需求來說,完全是夠用的,如果后面進(jìn)行升級(jí)會(huì)再來更新,更多相關(guān)Java封裝Result返回類內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Mybatis Generator逆向工程的使用詳細(xì)教程
這篇文章主要介紹了Mybatis Generator逆向工程的使用詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06Spring mvc整合tiles框架的簡單入門教程(maven)
這篇文章主要給大家介紹了關(guān)于Spring mvc整合tiles框架的簡單入門教程(maven),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考借鑒,下面來一起看看詳細(xì)的介紹吧。2017-12-12java中@EnableAutoConfiguration注解使用
在Spring Boot框架中,@EnableAutoConfiguration是一種非常重要的注解,本文就來介紹一下java中@EnableAutoConfiguration注解使用,感興趣的可以了解一下2023-11-11IDEA 使用mybatis插件Free Mybatis plugin的步驟(推薦)
這篇文章主要介紹了IDEA 使用mybatis插件Free Mybatis plugin的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12Spring超詳細(xì)講解創(chuàng)建BeanDefinition流程
Spring在初始化過程中,將xml中定義的對(duì)象解析到了BeanDefinition對(duì)象中,我們有必要了解一下BeanDefinition的內(nèi)部結(jié)構(gòu),有助于我們理解Spring的初始化流程2022-06-06Java使用easypoi快速導(dǎo)入導(dǎo)出的實(shí)現(xiàn)
這篇文章主要介紹了實(shí)現(xiàn)Java使用easypoi快速導(dǎo)入導(dǎo)出的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-03-03MybatisPlus查詢條件為空字符串或null問題及解決
這篇文章主要介紹了MybatisPlus查詢條件為空字符串或null問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06