1. 问题描述
在写SpringBoot项目的时候,由于是前后端分离项目,为了统一接口形式,使用一个类封装了返回数据的形式,但是在测试的时候报异常HttpMessageNotWritableException
后续附上解决办法(有些时候看上去一头雾水的bug可能只是一个很小的问题 so不要放弃~!)
封装类的代码:
1 package com.xiaobai.realtimesystem.realtimeserver.utils; 2 3 /** 4 * @author xiaobai 5 * @version 1.0 6 * @date 2019/5/22 16:43 7 * @email baijinfeng1202@gmail.com 8 * @address www.rbx1213.top 9 * @describe 用于实现接口返回规范的类 所有接口返回值都由该类封装 10 */ 11 @SuppressWarnings("ALL") 12 public class AppResponse<T> { 13 /** 14 * 返回值代码 由Status类定义 15 * @see Status 16 */ 17 private int code; 18 /** 19 * 返回的附加提示信息 20 */ 21 private String msg; 22 /** 23 * 返回的数据 若没有则为空 24 */ 25 private T data; 26 27 /** 28 * 无参构造必须有 29 */ 30 private AppResponse(){ } 31 32 /** 33 * 全参构造方法 34 * @param code 状态码 35 * @param msg 附加提示信息 36 * @param data 数据 37 */ 38 private AppResponse(int code,String msg,T data){ 39 this.code = code; 40 this.msg = msg; 41 this.data = data; 42 } 43 /** 44 * 成功消息的返回 45 * +2 重载方法 46 * @return 47 */ 48 public static AppResponse success(){ 49 return builder().code(Status.OK).build(); 50 } 51 52 /** 53 * 成功消息的返回 54 * +2 重载方法 55 * @param msg 附加提示消息 56 * @return 57 */ 58 public static AppResponse success(String msg){ 59 return builder().code(Status.OK).msg(msg).build(); 60 } 61 62 /** 63 * 成功消息的返回 64 * +2 重载方法 65 * @param msg 附加提示消息 66 * @param data 需要返回的数据 67 * @param <T> 68 * @return 69 */ 70 public static <T> AppResponse success(String msg,T data){ 71 return builder().code(Status.OK).msg(msg).data(data).build(); 72 } 73 74 /** 75 * 出错消息提示 该方法要求必须返回错误消息 76 * @param msg 错误消息 77 * @return 78 */ 79 public static AppResponse error(String msg){ 80 return builder().code(Status.ERR).msg(msg).build(); 81 }