場景
我們在業(yè)務(wù)處理的時(shí)候,遠(yuǎn)程接口或者方法調(diào)用返回結(jié)果的時(shí)候,往往會(huì)需要返回以下的內(nèi)容
- 成功與否
- 處理結(jié)果的描述
- 結(jié)果數(shù)據(jù)
以上內(nèi)容并非一定都需要。但返回消息滿足了這樣的結(jié)構(gòu),就基本上符合了絕大部分場景的需要。
這樣常用的結(jié)構(gòu),其實(shí)應(yīng)該在JDK或者某個(gè)框架中應(yīng)該有才是,但是,目前看來沒有找到,但是類似的代碼,在大量的項(xiàng)目代碼中存在著。
代碼
/**
* 結(jié)果類 Result
* 接口或者方法返回時(shí)的公共類。
* 包含了返回碼,返回消息以及數(shù)據(jù)
*
* @param <D> 數(shù)據(jù)主體的類型
*/
@Data
public class Result<D> implements Serializable {
/**
* code:返回碼
* 一般情況下,消息返回的時(shí)候,根據(jù)返回碼判斷是否正常返回
* 主要用于邏輯判斷
*/
private String code;
/**
* message:消息
* 當(dāng)消息返回時(shí),message 是對(duì)成功或者失敗的描述
* 主要用于展示,比如 處理失敗時(shí)返回,message:數(shù)據(jù)庫異常。
*/
private String message;
private D data;
public Result(String code, String message) {
this.code = code;
this.message = message;
}
public Result(String code, String message, D data) {
this.code = code;
this.message = message;
this.data = data;
}
}