如何在SpringBoot中使用@RequestBody註解正確接收非JSON格式的字符串參數?
Spring Boot中@RequestBody註解接收非JSON字符串參數
在Spring Boot應用中, @RequestBody
註解通常用於處理JSON格式的請求體數據。然而,當需要處理非JSON格式的字符串參數時,需要一些額外的配置。本文將探討如何使用@RequestBody
正確接收非JSON字符串參數,並解決可能出現的JSON解析錯誤。
問題描述
一個Spring Boot控制器接口使用@RequestBody
接收字符串參數:
@ResponseBody @PostMapping("/sendnews") public String sendContent(HttpServletRequest request, @RequestBody String lstMsgId) { System.out.println(lstMsgId); return lstMsgId; }
使用Postman發送請求(請求體設置為raw,內容為"90c8c36f23a94c1487851129aa47d690/90c8c36f23a94c1487851129aa47d690"
)可以正常工作。但使用Hutool庫發送相同請求時:
HttpRequest request = HttpRequest.post(url); request.header("gatewayAuth", "xxxx"); String responseJsonStr = request.form(null) .body("90c8c36f23a94c1487851129aa47d690/90c8c36f23a94c1487851129aa47d690") .timeout(50000) .execute().body();
則拋出org.springframework.http.converter.HttpMessageNotReadableException
異常,提示JSON解析錯誤。
原因分析
Postman默認將請求體字符串用雙引號包圍,符合JSON字符串格式。 Spring接收到後,使用JSON解析器處理。而Hutool庫的請求缺少必要的HTTP頭信息,導致Spring誤將請求體當作JSON處理,從而導致解析失敗。
解決方法
為了讓@RequestBody
正確處理非JSON字符串,需要明確告知Spring請求體的類型。這可以通過設置Content-Type
請求頭為text/plain
來實現。
修改Hutool請求代碼:
HttpRequest request = HttpRequest.post(url); request.header("Content-Type", "text/plain"); request.header("gatewayAuth", "xxxx"); String responseJsonStr = request.body("90c8c36f23a94c1487851129aa47d690/90c8c36f23a94c1487851129aa47d690") .timeout(50000) .execute().body();
通過設置Content-Type
為text/plain
,Spring將正確解析請求體中的非JSON字符串參數。
以上是如何在SpringBoot中使用@RequestBody註解正確接收非JSON格式的字符串參數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

AI在Composer中主要通過依賴推薦、依賴衝突解決和代碼質量提升來提高開發效率和代碼質量。 1.AI可以根據項目需求推薦合適的依賴包。 2.AI提供智能解決方案來處理依賴衝突。 3.AI審查代碼並提供優化建議,提升代碼質量。通過這些功能,開發者可以更專注於業務邏輯的實現。

幣圈十大加密貨幣交易所排名:1. Binance:全球領先,提供高效交易和多種金融產品。 2. OKX:創新多樣,支持多種交易類型。 3. Huobi:穩定可靠,服務優質。 4. Coinbase:新手友好,界面簡潔。 5. Kraken:專業交易者首選,工具強大。 6. Bitfinex:高效交易,交易對豐富。 7. Bittrex:安全合規,監管合作。 8. Poloniex等等。

幣圈十大虛擬幣交易所app:1. Binance,2. OKX,3. Huobi,4. Coinbase,5. Kraken,6. Bitfinex,7. Bybit,8. KuCoin,9. Gemini,10. Bitstamp,這些平台因其交易量、安全性和用戶體驗而備受歡迎。

2025年OKX的KYC認證流程在整體結構上沒有重大變化,但細節上進行了優化:1.用戶界面更友好,2.驗證速度更快,3.支持更多身份證件類型。

您想了解如何在WordPress網站上使用cookie嗎? Cookie是在用戶瀏覽器中存儲臨時信息的有用工具。您可以使用此信息通過個性化和行為定位來增強用戶體驗。在本終極指南中,我們將向您展示如何像專業人士一樣設置、獲取和刪除WordPresscookie。注意:這是一個高級教程。它要求您精通HTML、CSS、WordPress網站和PHP。什麼是Cookie? Cookie是用戶訪問網站時創建並存儲在用戶瀏覽

火幣APKV10.50.0下載指南:1、點擊文中直達鏈接;2、選擇正確的下載包;3、填寫註冊信息;4、開始火幣交易流程。

火幣APKV10.50.0下載指南:1、點擊文中直達鏈接;2、選擇正確的下載包;3、填寫註冊信息;4、開始火幣交易流程。

幣圈是加密貨幣市場的俗稱,涵蓋比特幣、以太坊等數字貨幣的交易、投資、項目開發及衍生金融活動。這一領域以區塊鏈技術為基礎,具有高波動性、全球化、去中心化等特點,吸引了大量投資者和創業者參與。以下是 2025 年全球十大加密貨幣交易所的詳細分析,結合市場動態、合規性及中國政策進行說明:
