现在开发过程中主要采用前后端分离的方式进行开发测试,也就是前端封装请求,后端提供标准的API接口服务。一般现在json 格式受到开发者们的青睐,学习过程中我们可以设置接口的返回类型,那么怎么做到设置统一的返回格式呢?以下是在项目开发过程中一般的模式标准:
1、一般springboot 我们使用 SpringBoot
进行开发时,当我们引入 spring-boot-starter-web
场景启动器后,该场景中就包含了 jackson
依赖,不需要再额外导入,并且默认开启了注解扫描驱动;但是springmvc 则 引入支持json 的jar
2、请求Controller ,设置json 格式的请求,一般使用RESTController 注解,这个注解s是 @Controller
和 @ResponseBody
注解的结合体,具有相同的作用,该注解只能标志在类上。
3、封装统一的返回对象格式,一般我们有几个关键项,code,msg,data ,如下:
public class ResponseResult<T> {
/**
* 状态码
*/
private Integer code;
/**
* 提示信息,如果有错误时,前端可以获取该字段进行提示
*/
private String msg;
/**
* 返回的结果数据
*/
private T data;
private ResponseResult() {
}
public ResponseResult(Integer code, String msg) {
this.code = code;
this.msg = msg;
}
public ResponseResult(Integer code, String msg, T data) {
this.code = code;
this.msg = msg;
this.data = data;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
}
-----------------使用枚举设置返回状态码及已知类型----------------
public enum ResultCode {
/**
* 通用状态码
*/
SUCCESS(1,"OK"),
FAILED(-1,"FAIL"),
/*
参数错误状态码
*/
PARAM_IS_INVAlID(101,"参数无效"),
PARAM_IS_BLANK(101,"参数为空"),
/* 用户错误 201 - 299 */
USER_NOT_LOGIN(201,"未登录"),
USER_NOT_EXIST(202,"用户不存在"),
USER_LOGIN_ERROR(203,"登陆失败,账号或者密码有误"),
NOT_PERMISSION(204,"无权限访问"),
/* 业务错误 301 - 399*/
DATA_NOT_FOUND(301,"没有数据");
//返回状态码
private Integer code;
//返回消息
private String msg;
private ResultCode() {
}
ResultCode(Integer code, String msg) {
this.code = code;
this.msg = msg;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
}
通过在ResponseResult添加一般的返回方法设置类
public static <T> ResponseResult<T> setCommonStatusAndData(ResultCode resultCode, T data){
return new ResponseResult<>(resultCode.getCode(), resultCode.getMsg(),data);
}
public static ResponseResult setCommonStatusNoData(ResultCode resultCode){
return new ResponseResult<>(resultCode.getCode(), resultCode.getMsg());
}
我们的开发接口服务时可以进行使用一般
public ResponseResult<T> getApi(输入参数){
。。。。。。。。。。。。。。。。。
return new ResponseResult<>(code, msg, data);
//或者使用
return ResponseResult.setCommonStatusAndData(ResultCode.SUCCESS,user)文章来源:https://www.toymoban.com/news/detail-648592.html
}文章来源地址https://www.toymoban.com/news/detail-648592.html
到了这里,关于Springboot 设置统一的请求返回格式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!