背景
在前后端分离之后,前端需要根据后端返回的数据开发,如果没有一个统一的josn格式,是非常乱的。在这里,我给大家分享一个通用的工具类。
依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.60</version>
</dependency>
Result
首先创建一个Modle类,统一API响应结果封装.。
@AllArgsConstructor
@NoArgsConstructor
public class Result<T> implements Serializable {
private int code;
private String message;
private Object data;
public int getCode() {
return code;
}
public Result setCode(int code) {
this.code = code;
return this;
}
public String getMessage() {
return message;
}
public Result setMessage(String message) {
this.message = message;
return this;
}
public Object getData() {
return data;
}
public Result setData(Object data) {
this.data = data;
return this;
}
}
ResultGenerator
最后创建构建工具类,响应结果生成工具。
public class ResultGenerator {
public static Result genSuccessResult() {
return new Result()
.setCode(HttpStatus.OK.value())
.setMessage(HttpStatus.OK.getReasonPhrase());
}
public static Result genSuccessResult(Object data) {
return new Result()
.setCode(HttpStatus.OK.value())
.setMessage(HttpStatus.OK.getReasonPhrase())
.setData(data);
}
public static Result genDeleteResult(Object data) {
return new Result()
.setCode(HttpStatus.NO_CONTENT.value())
.setMessage(HttpStatus.NO_CONTENT.getReasonPhrase())
.setData(data);
}
public static Result genFailResult(String message) {
return new Result()
.setCode(HttpStatus.BAD_REQUEST.value())
.setMessage(message);
}
public static Result genFailHttpResult(String message) {
return new Result()
.setCode(HttpStatus.UNAUTHORIZED.value())
.setMessage(message);
}
}
结尾说明
对于工具类里每一个方法所需要的参数,是可以根据不同情况自己指定。这里情况太多,不做全部展示,重点在理解。
附:一些常用的结果Code
制作不易,留下你的点赞。是对我最大的鼓励!