Java统一返回类型R
为什么使用
项目中我们会将响应封装成JSON返回,一般我们会将所有接口的数据格式统一, 使前端对数据的操作更一致、轻松。 一般情况下,统一返回数据格式没有固定的格式,只要能描述清楚返回的数据状态以及要返回的具体数 据就可以。但是一般会包含状态码、返回消息、数据这几部分内容
一. 统一返回数据格式
{"success": 布尔, //响应是否成功"code": 数字, //响应码"message": 字符串, //返回消息"data": HashMap //返回数据,放在键值对中
}
二 . 创建统一结果返回类
- 抽取出来作为公共部分
1. 创建公共部分模块Common
2. 创建接口定义返回码 也可使用枚举 也可以不定义,直接写入
public interface ResultCode {public static Integer SUCCESS = 20000;public static Integer ERROR = 20001;
}
3. 创建结果类
//统一返回结果的类
@Data
public class R {@ApiModelProperty(value = "是否成功")private Boolean success;@ApiModelProperty(value = "返回码")private Integer code;@ApiModelProperty(value = "返回消息")private String message;@ApiModelProperty(value = "返回数据")private Map<String, Object> data = new HashMap<String, Object>();//把构造方法私有 不让别人new该类private R() {}//实现链式编程//R.ok().code().message().data();//成功静态方法public static R ok() {R r = new R();r.setSuccess(true);r.setCode(ResultCode.SUCCESS);r.setMessage("成功");return r;}//失败静态方法public static R error() {R r = new R();r.setSuccess(false);r.setCode(ResultCode.ERROR);r.setMessage("失败");return r;}public R success(Boolean success){this.setSuccess(success);return this; //返回this 实现链式编程}//实现链式编程//R.ok().code().message().data();public R message(String message){this.setMessage(message);return this;}public R code(Integer code){this.setCode(code);return this;}public R data(String key, Object value){this.data.put(key, value);return this;}public R data(Map<String, Object> map){this.setData(map);return this;}
}
4. 项目结构
三. 使用
1.在使用的包中先导依赖
2.接口方法返回结果都改为R(导包时记得引对)
// 1 查询所有数据@GetMapping("findAll")public R findAllTeacher(){//调用service的方法实现查询所有的操作List<EduTeacher> list = teacherService.list(null);return R.ok().data("items",list); //链式编程}
// 2. 逻辑删除方法@DeleteMapping("{id}")public R removeTeacher(@PathVariable String id){boolean flag = teacherService.removeById(id);if(flag){return R.ok();}elsereturn R.error();}
Java统一返回类型R相关推荐
- java协变返回类型_Java中的协变返回类型
java协变返回类型 协变返回类型 (Covariant return type) The covariant return type is that return type which may va ...
- 后台接口统一返回类型-ResponseBodyAdvice
思路 1.自定义一个注解@ResponseResult用于在方法或者类上面标注,标识这个接口需要包装数据 2.拦截请求.判断此请求是否被@ResponseResult注解标注 3.实现接口Respon ...
- Java 统一返回结果集封装
Java 统一返回结果集封装 封装实体类 调用 封装实体类 /*** 统一返回结果集实体类* @param <T> 返回数据对象*/ @Data public class ErrorMsg ...
- java 需要返回类型_在Java中,当一个方法不需要返回数据时返回类型必须是
[问答题]在滑动轴承中什么是瓦背?其特点有哪些? [多选题]起重机采用变频调速改造后,有哪些效果? [判断题]当热继电器动作不准确时,可用弯折双金属片的方法来调整. [单选题]X62W型万能铣床进给电 ...
- java statement 返回类型,6.3 返回类型和返回语句 | Return type Return statement
无返回值函数 对于返回类型是void的函数,return后不跟表达式.最后的 return; 可以没有而让程序隐式执行.在void函数中的return语句还有提前使函数退出的作用而不进行接下来的计算, ...
- java invoke 返回类型_解析Java反射 - invoke方法
最近工作中涉及到获取同程火车票,大概描述为:将本地获取的发出城市,目的城市及出发时间按固定格式封装,调用接口获取可乘坐座席等级最高的火车票,接口返回数据用包含三层类封装的类接受,接受的类总共为四层,倒 ...
- java统一返回结果集封装,解决No converter found for return value of type
网上很多,自己参照手写了一个. package com.***.pro.utils;/*** @Author: wsh*/public class Result<T> {private B ...
- java purge_springboot之全局处理统一返回
springboot之全局处理统一返回 简介 在REST风格的开发中,避免通常会告知前台返回是否成功以及状态码等信息.这里我们通常返回的时候做一次util的包装处理工作,如:Result类似的类,里面 ...
- Spring MVC控制层的返回类型--String类型与Bean类型
SpringMVC控制层的返回类型形式多样,现拿其中的两种--String类型与Bean类型作以说明. 一.测试项目的结构 说明:(jsp的名字没起好) 控制层:UserController.java ...
最新文章
- 图像金字塔与resize函数
- shell 脚本 进行sqlite3初始化
- [导入]如何禁止掉SharePoint页面个性化?(续)
- 一、flask的基本使用-flask
- STM32开发 -- UCOSII
- MySQL数据库篇之初识数据库
- 空间谱专题16:信号个数估计
- java foreach 跳过本次循环_【Java】对foreach循环的思考
- [WCF] - 使用 [DataMember] 标记的数据契约需要声明 Set 方法
- 初中生学计算机视频,推荐一下适合中学生的在线视频学习网站
- LeetCode 535. Encode and Decode TinyURL
- jquery 父元素相邻元素_Jquery中几种查找节点的方法
- 中英文计算机核心期刊目录
- c语言程序求对称矩阵,C语言经典算法上三角下三角对称矩阵
- 计算机系统应用 莫军,Configuration tool for ARINC 653 operating systems
- vcm驱动芯片原理_手机Cam和era模组及VCM与VCMDriver介绍.pptx
- 四大组件之Service(服务)
- 渐变背景和背景图片并存
- 文献(7): 在非小细胞肺癌中,浆细胞signature可用于PD-L1免疫治疗的响应预测
- SSM框架之Mybatis同时传入多个对象及普通参数
热门文章
- Synopsys逻辑工艺库(DC综合)
- python一般要学几年_怎么自学python,大概要多久?
- 腾然教育MCN覃小龙公子:覃宣量2022年2岁10个月亲子照
- iOS--app自定义相册--创建相簿,存储图片到手机
- 抗议信用卡霸王条款,有关最低还款的注意事项
- php蔬菜农村电商系统_农产品电子商务网站开发(PHP+MySQL+JavaScriptHTML)
- qtcreator5很卡解决方法
- IxChariot测试路由LAN到WAN和WAN到LAN吞吐量操作指南
- 四款经典3.7v锂电池充电电路图详解 - 全文锂电池的内部结构所致,必须保留一部分锂离子在负极,锂电池不能过放电
- 被遗忘的图灵:一文溯源AI研究(附下载)