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