统一返回JsonResult踩坑的记录

 更新时间:2025年06月10日 14:11:06   作者:FLGB  
这篇文章主要介绍了统一返回JsonResult踩坑的记录,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

统一返回JsonResult踩坑

定义了一个统一返回类

但是没有给@Data 导致没有get/set方法,请求一直报错

public class JsonResult<T> {

    private int code;
    private String message;
    private T data;

    public JsonResult() {}

    public JsonResult(int code, String message, T data) {
        this.code = code;
        this.message = message;
        this.data = data;
    }

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public T getData() {
        return data;
    }

    public void setData(T data) {
        this.data = data;
    }

    public static <T> JsonResult<T> success(T data) {
        return new JsonResult<>(200, "Success", data);
    }
}

在使用时,JsonResult没有get/set方法时

Spring MVC 在序列化时无法将对象正确转换为 JSON,因此会被视为 视图名称,导致循环视图渲染的问题。

Completed initialization in 2 ms
GET "/api/getUser", parameters={}
Mapped to kayou.eim.controller.BasicController#users()
Using 'application/octet-stream', given [*/*] and supported [*/*]
Using @ExceptionHandler kayou.eim.controller.global.GlobalExceptionHandler#handleException(Except
Internal server error

org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation

Resolved [org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation]
Completed 406 NOT_ACCEPTABLE
"ERROR" dispatch for GET "/api/error", parameters={}
Mapped to kayou.eim.controller.global.CustomErrorController#error(HttpServletRequest)
Using 'application/json', given [*/*] and supported [application/json, application/*+json, application/json, appli
Writing [{timestamp=Wed May 07 18:09:17 CST 2025, status=406, error=Not Acceptable, path=/api/getUser}]
Exiting from "ERROR" dispatch, status 406

响应

{
    "timestamp": 1746612557176,
    "status": 406,
    "error": "Not Acceptable",
    "path": "/api/getUser"
}

报错不够清晰准确,导致排查了一圈。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 浅谈Spring与SpringMVC父子容器的关系与初始化

    浅谈Spring与SpringMVC父子容器的关系与初始化

    这篇文章主要介绍了浅谈Spring与SpringMVC父子容器的关系与初始化,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • Springcloud Config支持本地配置文件的方法示例

    Springcloud Config支持本地配置文件的方法示例

    这篇文章主要介绍了Springcloud Config支持本地配置文件的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • Java使用String.format方法格式化字符串的示例详解

    Java使用String.format方法格式化字符串的示例详解

    在编程过程中,我们经常需要创建格式化的字符串来满足特定的需求,比如生成用户友好的消息、构建报告或是输出调试信息,Java 提供了一个强大的工具——String.format 方法,本文给大家介绍了Java使用String.format方法格式化字符串的示例,需要的朋友可以参考下
    2024-11-11
  • Java使用黑盒方式模拟实现内网穿透

    Java使用黑盒方式模拟实现内网穿透

    这篇文章主要介绍了Java使用黑盒方式模拟实现内网穿透,内网穿透,也即 NAT 穿透,进行 NAT 穿透是为了使具有某一个特定源 IP 地址和源端口号的数据包不被 NAT 设备屏蔽而正确路由到内网主机,需要的朋友可以参考下
    2023-05-05
  • Java实现简单的扫雷图

    Java实现简单的扫雷图

    这篇文章主要为大家详细介绍了Java实现简单的扫雷图,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-05-05
  • java选择框、单选框和单选按钮

    java选择框、单选框和单选按钮

    本文给大家介绍的是java中选择框、单选框和单选按钮的操作方法,十分的简单实用,有需要的小伙伴可以参考下。
    2015-06-06
  • Spring Boot + Mybatis-Plus实现多数据源的方法

    Spring Boot + Mybatis-Plus实现多数据源的方法

    这篇文章主要介绍了Spring Boot + Mybatis-Plus实现多数据源的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • Java这个名字的来历与优势

    Java这个名字的来历与优势

    Java是Sun公司开发的一种编程语言,Sun公司最初的方向是让Java来开发一些电器装置程序,Java名字的由来,实际上是一个有趣的故事。
    2014-10-10
  • mybatis的好帮手之MybatisCodeHelperPro详解

    mybatis的好帮手之MybatisCodeHelperPro详解

    这篇文章主要介绍了mybatis的好帮手之MybatisCodeHelperPro详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • MyBatis-Plus简介和快速入门教程

    MyBatis-Plus简介和快速入门教程

    MyBatis-Plus是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做修改,为简化开发、提高效率而生,本文给大家介绍MyBatis-Plus简介和快速入门教程,需要的朋友参考下吧
    2021-09-09

最新评论