Java封裝公共Result結(jié)果返回類的實(shí)現(xiàn)
前言
在使用Java開(kāi)發(fā)接口請(qǐng)求中,我們需要對(duì)請(qǐng)求進(jìn)行進(jìn)行統(tǒng)一返回值,這時(shí)候我們自己封裝一個(gè)統(tǒng)一的Result返回類,下面就介紹下我用的這種的這個(gè)類
當(dāng)然,也可以使用第三方庫(kù)封裝的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é)果返回類就寫好了,我們簡(jiǎn)單寫兩個(gè)接口分別測(cè)試下失敗或者失敗吧!
成功測(cè)試
首先測(cè)試下成功的響應(yīng):data里面就查出來(lái)的數(shù)據(jù)

數(shù)據(jù)有點(diǎn)多,我們把data合上看下整體結(jié)構(gòu):

是我們想要的返回格式
失敗測(cè)試
接下來(lái)測(cè)試下請(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)在的需求來(lái)說(shuō),完全是夠用的,如果后面進(jìn)行升級(jí)會(huì)再來(lái)更新,更多相關(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-06
Spring mvc整合tiles框架的簡(jiǎn)單入門教程(maven)
這篇文章主要給大家介紹了關(guān)于Spring mvc整合tiles框架的簡(jiǎn)單入門教程(maven),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考借鑒,下面來(lái)一起看看詳細(xì)的介紹吧。2017-12-12
java中@EnableAutoConfiguration注解使用
在Spring Boot框架中,@EnableAutoConfiguration是一種非常重要的注解,本文就來(lái)介紹一下java中@EnableAutoConfiguration注解使用,感興趣的可以了解一下2023-11-11
IDEA 使用mybatis插件Free Mybatis plugin的步驟(推薦)
這篇文章主要介紹了IDEA 使用mybatis插件Free Mybatis plugin的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
Spring超詳細(xì)講解創(chuàng)建BeanDefinition流程
Spring在初始化過(guò)程中,將xml中定義的對(duì)象解析到了BeanDefinition對(duì)象中,我們有必要了解一下BeanDefinition的內(nèi)部結(jié)構(gòu),有助于我們理解Spring的初始化流程2022-06-06
Java使用easypoi快速導(dǎo)入導(dǎo)出的實(shí)現(xiàn)
這篇文章主要介紹了實(shí)現(xiàn)Java使用easypoi快速導(dǎo)入導(dǎo)出的實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-03-03
MybatisPlus查詢條件為空字符串或null問(wèn)題及解決
這篇文章主要介紹了MybatisPlus查詢條件為空字符串或null問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06

