【問題解決】Postman 測試報錯 406

現象

在這里插入圖片描述

Tomcat 日志

org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.logException Resolved org.springframework.web.HttpMediaTypeNotAcceptableException: No acceptable representation

HTTP狀態 406 - 不可接收 的報錯,核心原因

客戶端的請求頭 Accept 無法匹配服務端可返回的數據類型(例如 JSON),導致 SpringMVC 無法找到合適的表示(representation)返回

🎯 關鍵問題分析

原始接口:

@GetMapping("/save")
@ResponseBody
public String save() {return "{'info': 'springmvc'}";
}

問題原因:

  1. @ResponseBody + String 返回 JSON 字符串,但 SpringMVC 認為它是 text/plain 類型;
  2. 如果 Postman 的 Accept 請求頭為 application/json,SpringMVC 會嘗試返回 JSON;
  3. 結果不匹配,服務端無法滿足客戶端請求的數據格式要求,返回 406

🛠? 解決方案一:改返回類型 + 自動 JSON 轉換

修改返回類型為 Map 或 Java 對象,SpringMVC 會自動將其序列化為 JSON(需引入 Jackson)

修改示例:

@GetMapping("/save")
@ResponseBody
public Map<String, String> save() {Map<String, String> map = new HashMap<>();map.put("info", "springmvc");return map;
}

Maven 依賴 Jackson(Spring6 通常自動包含):

<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.18.2</version>
</dependency>

🛠? 解決方案二:Postman 設置 Accepttext/plain

如果不修改接口代碼,仍返回字符串 "{}",則 Postman 需要這樣設置:

  1. 在 Headers 中添加:

    Accept: text/plain
    
  2. 或刪除 Accept 頭,讓它使用默認(*/*);


🛠? 解決方案三:顯式指定返回類型為 JSON

@GetMapping(value = "/save", produces = "application/json;charset=UTF-8")
@ResponseBody
public String save() {return "{\"info\": \"springmvc\"}";
}

這樣 Spring 會將字符串當成 JSON 返回,避免 406


🧩 總結

方案優點注意
返回對象(Map/類)推薦,Spring自動 JSON需 Jackson 依賴
改 Accept 頭快速,適合測試返回非標準 JSON
指定 produces控制精確手寫 JSON 且需轉義

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/72921.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/72921.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/72921.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

第3節:AWK的特點和優勢

1 第3節&#xff1a;AWK的特點和優勢 AWK是一種功能強大的文本處理工具&#xff0c;具有以下特點和優勢&#xff1a; 1.1.1 簡潔性 AWK的語法簡潔明了&#xff0c;對于簡單的數據處理任務&#xff0c;通常只需編寫簡短的命令即可完成。例如&#xff0c;要從一個文本文件中提…

Flutter 打包 ipa出現錯誤問題 exportArchive

一、錯誤信息: Encountered error while creating the IPA: error: exportArchive: "Runner.app" requires a provisioning profile with the Push Notifications feature. Try distributing the app in Xcode: open /project/your_app/build/ios/archive/Runner.…

STC89C52單片機學習——第28節: [12-2] AT24C02數據存儲秒表(定時器掃描按鍵數碼管)

寫這個文章是用來學習的,記錄一下我的學習過程。希望我能一直堅持下去,我只是一個小白,只是想好好學習,我知道這會很難&#xff0c;但我還是想去做&#xff01; 本文寫于&#xff1a;2025.03.20 51單片機學習——第28節: [12-2] AT24C02數據存儲&秒表&#xff08;定時器掃…

Verilog-HDL/SystemVerilog/Bluespec SystemVerilog vscode 配置

下載 verible https://github.com/chipsalliance/verible的二進制包 然后配置 vscode

STM32使用HAL庫,模擬UART輸出字符串

測試芯片是STM32F103C8T6&#xff0c;直接封裝好了&#xff0c;波特率是 9600 MyDbg.h #ifndef __MYDBG_H #define __MYDBG_H #include "stm32f1xx_hal.h" #include <stdio.h> #include <stdarg.h>/*使用GPIO口 模擬 UART 輸出字符串 */ //初始化調試…

[工控機安全] 使用DriverView快速排查不可信第三方驅動(附詳細圖文教程)

導語&#xff1a; 在工業控制領域&#xff0c;設備驅動程序的安全性至關重要。第三方驅動可能存在兼容性問題、安全漏洞甚至惡意代碼&#xff0c;威脅設備穩定運行。本文將手把手教你使用 DriverView工具&#xff0c;高效完成工控機驅動安全檢查&#xff0c;精準識別可疑驅動&a…

HTML5響應式使用css媒體查詢

HTML 負責搭建頁面結構&#xff0c;CSS 負責樣式設計&#xff0c;并且通過媒體查詢實現了較好的響應式效果&#xff0c;能夠適應不同屏幕尺寸下面就是寫了一個詳細的實例。 CSS 部分 * {margin: 0;padding: 0;box-sizing: border-box; } * 是通配選擇器&#xff0c;會選中頁面…

洛谷P1434 [SHOI2002] 滑雪

P1434 [SHOI2002] 滑雪 - 洛谷 代碼區&#xff1a; #include<algorithm> #include<iostream> #include<cstring> using namespace std;const int MAX 105; int r, c; int arr[MAX][MAX], dp[MAX][MAX]; int xindex[4] {-1,1,0,0};//上下左右 int yindex[…

【操作系統】進程間通信方式

進程間通信方式 前言 / 概述一、管道管道命名管道 二、消息隊列三、共享內存四、信號量信號量概述互斥訪問條件同步信號 五、socket總結 前言 / 概述 每個進程的用戶地址空間都是獨立的&#xff0c;?般而言是不能互相訪問的&#xff0c;但內核空間是每個進程都共享的&#xff…

WPF 布局中的共性尺寸組(Shared Size Group)

1. 什么是共性尺寸組&#xff1f; 在 WPF 的 Grid 布局中&#xff0c;SharedSizeGroup 允許多個 Grid 共享同一列或行的尺寸&#xff0c;即使它們屬于不同的 Grid 也能保持大小一致。這樣可以保證界面元素的對齊性&#xff0c;提高布局的一致性。 SharedSizeGroup 主要用于需…

Netty源碼—2.Reactor線程模型二

大綱 1.關于NioEventLoop的問題整理 2.理解Reactor線程模型主要分三部分 3.NioEventLoop的創建 4.NioEventLoop的啟動 4.NioEventLoop的啟動 (1)啟動NioEventLoop的兩大入口 (2)判斷當前線程是否是NioEventLoop線程 (3)創建一個線程并啟動 (4)NioEventLoop的啟動總結 (…

前端項目中應該如何選擇正確的圖片格式

在前端項目中選擇正確的圖片格式是優化頁面性能、提升用戶體驗的關鍵步驟之一。以下是常見圖片格式的特點、適用場景及選擇建議&#xff0c;幫助你在不同場景下做出最優決策&#xff1a; 一、常見圖片格式對比 格式特點適用場景不適用場景JPEG- 有損壓縮&#xff0c;文件小- 不…

保姆級 STM32 HAL 庫外部中斷教學

1. 外部中斷概述 為什么用外部中斷&#xff1f; 當按鍵按下時&#xff0c;CPU 無需輪詢檢測引腳狀態&#xff0c;而是通過中斷機制立即響應&#xff0c;提高效率&#xff0c;適用于實時性要求高的場景。 關鍵概念 EXTI (External Interrupt/Event Controller)&#xff1a;ST…

Postman高級功能深度解析:Mock Server與自動化監控——構建高效API測試與監控體系

引言&#xff1a;Postman在API開發中的核心價值 在數字化時代&#xff0c;API&#xff08;應用程序編程接口&#xff09;已成為系統間交互的“神經網絡”&#xff0c;其質量直接影響用戶體驗與業務連續性。然而&#xff0c;傳統API測試面臨兩大挑戰&#xff1a; 開發階段依賴…

【程序人生】成功人生架構圖(分層模型)

文章目錄 ?前言?一、根基層——價值觀與使命?二、支柱層——健康與能量?三、驅動層——學習與進化?四、網絡層——關系系統?五、目標層——成就與財富?六、頂層——意義與傳承?外層&#xff1a;調節環——平衡與抗風險?思維導圖 標題詳情作者JosieBook頭銜CSDN博客專家…

【最后203篇系列】020 rocksdb agent

今天還是挺開心的一天&#xff0c;又在工具箱里加了一個工具。嗯&#xff0c;但是快下班的時候也碰到一些不太順心的事&#xff0c;讓我有點惱火。我還真沒想到一個專職的前端&#xff0c;加測試&#xff0c;以及其他一堆人&#xff0c;竟然不知道后端返回的markdown,在前端渲染…

10-- 網絡攻擊防御原理全景解析 | 從單包攻防到DDoS軍團作戰(包你看一遍全記住)

&#x1f6e1;? 網絡攻擊防御原理全景解析 | 從單包攻防到DDoS軍團作戰 如果你也對網絡工程師的內容感興趣的話&#xff0c;歡迎看我的最新文章9–BGP路由黑洞&#xff08;超萬字大解析&#xff09;&#xff1a;網絡世界的“百慕大三角“逃生指南(BGP路由配置實驗含路由黑洞,…

解鎖Python print()函數高級用法

print() 是 Python 中最常用的函數之一,用于將內容輸出到控制臺。雖然它的基本用法非常簡單,但 print() 函數還支持許多高級功能,如格式化輸出、重定向輸出、控制分隔符和結束符等。 1. print() 函數的基本用法 1.1 語法 print() 函數的基本語法如下: print(*objects, …

鬼泣:動作系統3

文章目錄 self-Tag&#xff1a;可以直接在游戲運行時通過標簽區分不同Actorsolid隔離&#xff1a;模塊化低耦合&#xff1a;將功能拆分成多個模塊&#xff0c;修改單一模塊時無需修改其他模塊 動作優先級&#xff1a;當前動作能否打斷上一動作函數不能使用timelineset timer by…

Polymer入門指南:從零開始構建、組織、管理Web Component

前言 Web Component是一種強大的技術&#xff0c;它允許開發者創建可重用的自定義元素&#xff0c;其功能和樣式都與原生HTML元素類似。Polymer是一個用于創建Web Component的庫&#xff0c;簡化了開發過程。今天我們將一起來了解如何基于Polymer開發Web Component。 什么是P…