前提:SpringBoot整合MyBatis
为了后台返回值统一格式,在util包中创建Result类将返回值封装

public class Result <T> {private int code;       // 状态码private String msg;     // 返回的信息private T data;         // 返回的数据/*** 成功时候的调用(有数据)* @param data* @param <T>* @return*/public static <T> Result<T> success(T data){return new Result<T>(data);}/*** 成功时候的调用(无数据)* @param <T>* @return*/public static <T> Result<T> success(){return new Result<T>();}/*** 异常时候的调用(有msg参数)* @param msg* @param <T>* @return*/public static <T> Result<T> error(String msg){return new Result<T>(msg);}/*** 异常时候的调用(无msg参数)* @param <T>* @return*/public static <T> Result<T> error(){return new Result<T>("error");}private Result(T data) {this.code = 200;this.msg = "success";this.data = data;}private Result() {this.code = 200;this.msg = "success";}private Result(String msg) {this.code = 400;this.msg = msg;}public int getCode() {return code;}public String getMsg() {return msg;}public T getData() {return data;}}

而控制层的getAll方法的返回类型等要改为:

@GetMapping("/getAll")
public Result getAll() {return Result.success(service.getAll());
}

此时用Postman访问http://localhost:8080/student/getAll得到的结果如下:

当然也可以在封装一个常用异常状态参数的类Error(静态异常可以根据项目自由定义)

public class Error {private int code;        // 状态码private String msg;       // 返回的信息private Error(int code, String msg) {this.code = code;this.msg = msg;}// 静态常用异常public static Error ERROR_1 = new Error(400,"异常类型一");public static Error ERROR_2 = new Error(500,"异常类型二");public int getCode() {return code;}public String getMsg() {return msg;}
}

然后在Result类中添加如下方法:

/*** 异常时候的调用(固定参数)* @param error* @param <T>* @return*/
public static <T> Result<T> error(Error error){return new Result<T>(error);
}private Result(Error error) {if (error == null){return ;}this.code = error.getCode();this.msg = error.getMsg();
}

使用:

/*** 测试定义参数异常* @return*/
@GetMapping("/getError")
public Result getError() {return Result.error(ERROR_1);
}

访问http://localhost:8080/student/getError

SpringBoot返回值封装相关推荐

  1. SpringBoot返回类型封装

    SpringBoot返回类型封装 返回类型封装的工具类 工具类的调用 总结 自我推荐 返回类型封装的工具类 //把返回值封装成工具类,方便调用 public class ResultMapUtils ...

  2. Yansongda\Pay 支付宝返回值封装

    在使用Yansongda做支付宝支付是直接使用插件原生返回 return $alipay->app($order)->send(); 得到了app 支付包含商户的订单信息请求参数字符串, ...

  3. springboot 的异步任务 :无返回值 和有返回值

    在想要异步执行的方法上加上@Async注解,在controller上加上@EnableAsync,即可. 注:这里的异步方法,只能在本类之外调用,在本类调用是无效的. 无返回值的异步任务 servic ...

  4. 【Android】12.3 在当前Activity中获取另一个Activity的返回值

    分类:C#.Android.VS2015: 创建日期:2016-02-23 一.简介 在上一节的示例中,通过StartActivity(Intent)方法启动另一个Activity后,这两个Activ ...

  5. 创建线程以及怎样创建有返回值的线程

    一.继承Thread类创建线程类 (1) 定义一个类并继承Thread,重写run方法,该run方法为该线程需要完成的任务,及线程的执行体. (2) 创建该类的实例对象,及为创建了线程对象. (3) ...

  6. C#秘密武器之多线程——参数与返回值

    线程函数要么没有参数,要么只能有一个object参数,而且均没有返回值,这样就大大降低了程序的灵活性,其实我们想要的是能像普通方法一样正常使用参数和返回值!能不能实现这个需求呢?下面就介绍两种方法 一 ...

  7. Spring Boot配置统一格式Result返回值(一)

    在Web开发中,前后端分离开发已经深入人心,这样的开发模式对于开发优雅美观的web应用非常有益.我在网上查阅了一些资料,学习了在Spring Boot开发中使用有利于前端小伙伴合作开发的统一格式返回值 ...

  8. SpringBoot异步任务, 以及带返回值的异步任务(@Async 不起作用的原因)

    第一部分: 无返回值异步任务 当没有加入异步任务的时候,我们创建一个service ,里面的方法需要等待3秒才能完成, controller层写一个测试方法调用时间返回的接口, 直接调用, 下面是se ...

  9. springboot包装controller返回值

    1.springboot项目统一包装返回值,通常返回结果包含code.message.data,结构如下 import lombok.AllArgsConstructor; import lombok ...

最新文章

  1. 任意用户密码重置(四):重置凭证未校验
  2. 滴滴出行2020数据分析面试题
  3. python变量类型函数_python中的变量和数据类型
  4. 每周一题 —— 3n+1问题
  5. 为什么我们总是喜欢选择差不多的价格
  6. 单片机断电后静态存储区里面还有数据吗_单片机启动流程和存储架构详解
  7. 【纠错记录】本地FTP服务器无法被外部连接
  8. laravel 自带的用户登录视图路径_Laravel实现找回密码及密码重置,详细操作
  9. 通过TextWatcher去观察输入框中输入的内容以及输入字符个数
  10. Pandas GroupBy 分组(分割-应用-组合)
  11. java命令行参数args_Args4J (Java 命令行参数控制开源项目) 使用指南
  12. 空间数据挖掘主要方法
  13. [zencart数据采集]第二课 火车头采集简单系统配置
  14. 使用 Golang 实现简易的令牌桶算法
  15. LU分解、矩阵求逆与解线性方程组(matlab代码)
  16. 【数据科学家学习小组】之统计学(第二期)第一周(20191028-20191103)-momi
  17. NDK - JNI官方中文资料
  18. 基于Python的安卓图形锁破解程序
  19. 学习笔记2:高精度地图
  20. 35岁以后不建议裸辞

热门文章

  1. 一个简单的Python一元一次方程计算器
  2. Maven 项目查找 jar 包是由哪个依赖引入的
  3. MySQL连接查询,子查询,union(合并),分页
  4. C 语言隐式类型转换
  5. class与typename的异同
  6. Linux系统管理 4 Shell的基本应用
  7. javaweb开发和j2ee区别
  8. mysql 关联查询
  9. U3D中的常用字符串加密算法程序
  10. strcmp函数的C语言实现