统一返回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" }
报错不够清晰准确,导致排查了一圈。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论