前言
在使用Java开发接口请求中,我们需要对请求进行进行统一返回值,这时候我们自己封装一个统一的Result返回类,下面就介绍下我用的这种的这个类
当然,也可以使用第三方库封装的Result结果返回类,根据个人喜好选择即可。
封装公共Result类
首先需要创建一个Result类:
我的想法是:需要有一个请求成功的响应。一个请求失败的响应,如果请求
成功需要返回请求结果,如果请求失败则返回失败原因,且每一个请求都要带上当前时间戳,请求状态(200:成功,400:失败),是否成功(true成功 or false失败)
顺着这个思路,就写出了下面的代码:
如果你也有不同的思路和建议,欢迎评论留言
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;
/**
* 错误信息
**/
private String errorMsg;
/**
* 请求状态 200-成功 400-失败
**/
private Integer status;
/**
* 当前时间戳
**/
private Long timestamp;
/**
* 返回结果
**/
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);
}
}
这样一个公共Result结果返回类就写好了,我们简单写两个接口分别测试下失败或者失败吧!
成功测试
首先测试下成功的响应:data里面就查出来的数据
数据有点多,我们把data合上看下整体结构:
是我们想要的返回格式
失败测试
接下来测试下请求失败的情况:如图我给方法新增了一个参数name,如果参数name为空,name就会请求失败并且返回错误信息
ps:判断参数是否为空应该放在service里面处理,我这里演示就懒得这么写了
参数为空的话,请求失败并且返回错误信息
当然如果name不为空,就是请求成功的:
总结
以上就是我自己写的一个Result结果返回类,对于现在的需求来说,完全是够用的,如果后面进行升级会再来更新