当前位置: 首页 > news >正文

SpringBoot 封装统一API返回格式对象 标准化开发 请求封装 统一格式处理

统一HTTP请求代码

public class HttpCode
{/*** 操作成功*/public static final int SUCCESS = 200;/*** 对象创建成功*/public static final int CREATED = 201;/*** 请求已经被接受*/public static final int ACCEPTED = 202;/*** 操作已经执行成功,但是没有返回数据*/public static final int NO_CONTENT = 204;/*** 资源已被移除*/public static final int MOVED_PERM = 301;/*** 重定向*/public static final int SEE_OTHER = 303;/*** 资源没有被修改*/public static final int NOT_MODIFIED = 304;/*** 参数列表错误(缺少,格式不匹配)*/public static final int BAD_REQUEST = 400;/*** 未授权*/public static final int UNAUTHORIZED = 401;/*** 访问受限,授权过期*/public static final int FORBIDDEN = 403;/*** 资源,服务未找到*/public static final int NOT_FOUND = 404;/*** 不允许的http方法*/public static final int BAD_METHOD = 405;/*** 资源冲突,或者资源被锁*/public static final int CONFLICT = 409;/*** 不支持的数据,媒体类型*/public static final int UNSUPPORTED_TYPE = 415;/*** 系统内部错误*/public static final int ERROR = 500;/*** 接口未实现*/public static final int NOT_IMPLEMENTED = 501;/*** 系统警告消息*/public static final int WARN = 601;
}

统一接口返回

public class R   extends HashMap<String, Object> {/** 状态码 */private static final String CODE = "code";/** 返回内容 */private static final String MSG = "msg";/** 数据对象 */private static final String DATA = "data";private static final String TOTAL="total";/**全参构造*/public R(int code, String msg, Object data){super.put(CODE, code);super.put(MSG, msg);super.put(DATA, data);}/**分页构造*/public R(int code, String msg, Object data,int total){super.put(CODE, code);super.put(MSG, msg);super.put(DATA, data);super.put(TOTAL, total);}/*** 返回成功消息* @param msg 返回内容* @param data 数据对象* @return 成功消息*/public static R success(String msg, Object data){return new R(HttpCode.SUCCESS, msg, data);}/*** 返回失败消息* @param msg 返回内容* @param data 数据对象* @return 成功消息*/public static R error(String msg, Object data){return new R(HttpCode.ERROR, msg, data);}/*** 返回警告消息* @param msg* @param data* @return*/public static R warn(String msg, Object data){return new R(HttpCode.WARN, msg, data);}/*** 分页获取参数* @param data* @param total* @return 分页数据*/public static R page(Object data,int total){return new R(200,"获取成功",data,total);}}

接口测试

@RequestMapping("/user")
public R user() {List<Integer> list =new ArrayList<>();list.add(12);list.add(134);R result = R.page(list,500);result.put("abc",123);return result;
}
{"msg":"获取成功","total":500,"code":200,"abc":123,"data":[12,134]}

相关文章:

  • 【Yolo精读+实践+魔改系列】Yolov1论文超详细精讲(翻译+笔记)
  • 字典与集合——测试界的黑话宝典与BUG追捕术
  • 系统思考:技术与产品协同
  • SLAM常用地图对比示例
  • nextjs国际化
  • Vue3 + TypeScript,使用provide提供只读的响应式数据的详细分析与解决方法
  • #define STEUER_A_H {PWM_A_ON}
  • C#中用 OxyPlot 在 WinForms 实现波形图可视化(附源码教程)
  • 深度理解spring——BeanFactory的实现
  • 通付盾入选苏州市网络和数据安全免费体验目录,引领企业安全能力跃升
  • ubuntu20.04(ROS noetic版)安装cartographer
  • leetcode28. 找出字符串中第一个匹配项的下标_简单KMP
  • 基于Django的权限管理平台
  • Pgvector+R2R搭建RAG知识库
  • 问道数码兽 怀旧剧情回合手游源码搭建教程(反查重优化版)
  • 前缀和-724.寻找数组的中心下标-力扣(LeetCode)
  • OpenAI图像生成gpt-image-1登场,开启创意新可能
  • GPT-4o最新图像生成完全指南:10大应用场景与提示词模板
  • 【Vue】TypeScript与Vue3集成
  • Java学习手册:JSON 数据格式基础知识
  • 国家市监总局:民生无小事,严打民生领域侵权假冒违法行为
  • 乌克兰基辅遭大规模袭击,已致12人死亡
  • 全球84%的珊瑚礁已遭受白化事件影响
  • 上海汽车贸易有限公司原总经理王璟接受监察调查
  • 韩冬任国家广播电视总局副局长,齐竹泉任中央广播电视总台副台长
  • 中方警告韩国公司不要向美军工企业出口含中国稀土矿物产品?外交部回应