統(tǒng)一返回JsonResult踩坑的記錄
統(tǒng)一返回JsonResult踩坑
定義了一個統(tǒng)一返回類
但是沒有給@Data 導(dǎo)致沒有g(shù)et/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沒有g(shù)et/set方法時
Spring MVC 在序列化時無法將對象正確轉(zhuǎn)換為 JSON,因此會被視為 視圖名稱,導(dǎo)致循環(huán)視圖渲染的問題。
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
響應(yīng)
{ "timestamp": 1746612557176, "status": 406, "error": "Not Acceptable", "path": "/api/getUser" }
報錯不夠清晰準確,導(dǎo)致排查了一圈。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
淺談Spring與SpringMVC父子容器的關(guān)系與初始化
這篇文章主要介紹了淺談Spring與SpringMVC父子容器的關(guān)系與初始化,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08Springcloud Config支持本地配置文件的方法示例
這篇文章主要介紹了Springcloud Config支持本地配置文件的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02Java使用String.format方法格式化字符串的示例詳解
在編程過程中,我們經(jīng)常需要創(chuàng)建格式化的字符串來滿足特定的需求,比如生成用戶友好的消息、構(gòu)建報告或是輸出調(diào)試信息,Java 提供了一個強大的工具——String.format 方法,本文給大家介紹了Java使用String.format方法格式化字符串的示例,需要的朋友可以參考下2024-11-11Java使用黑盒方式模擬實現(xiàn)內(nèi)網(wǎng)穿透
這篇文章主要介紹了Java使用黑盒方式模擬實現(xiàn)內(nèi)網(wǎng)穿透,內(nèi)網(wǎng)穿透,也即 NAT 穿透,進行 NAT 穿透是為了使具有某一個特定源 IP 地址和源端口號的數(shù)據(jù)包不被 NAT 設(shè)備屏蔽而正確路由到內(nèi)網(wǎng)主機,需要的朋友可以參考下2023-05-05Spring Boot + Mybatis-Plus實現(xiàn)多數(shù)據(jù)源的方法
這篇文章主要介紹了Spring Boot + Mybatis-Plus實現(xiàn)多數(shù)據(jù)源的方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11mybatis的好幫手之MybatisCodeHelperPro詳解
這篇文章主要介紹了mybatis的好幫手之MybatisCodeHelperPro詳解,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09