前端向後端傳遞數據時,後端顯示獲取到的數據為NULL,如何解決?
問題描述:在使用若依分離版框架開發過程中,前端使用POST請求向後端傳遞數據,後端卻接收到了NULL值。
前端代碼:
//修改訂單狀態export function updatorderstatus(id,status){ const data={ id, status } return request({ url:"/business/orderinfo/updatestate", method:"post", data:data }) }
前端請求數據截圖: (此處應包含前端請求數據的截圖)
後端代碼(原代碼):
@ApiOperation("訂單管理-修改訂單狀態") @ApiImplicitParams({ @ApiImplicitParam(name="id", value = "主鍵id", required = true, dataType = "integer"), @ApiImplicitParam(name="status", value = "狀態0進行1結束", required = true, dataType = "integer") }) @PostMapping("/updatestate") public AjaxResult updateState(Integer id, Integer status) { System.out.println("更改訂單編號:" id "\n"); System.out.println("更改訂單狀態:" status "\n"); // ... (其餘代碼) }
後端打印結果截圖: (此處應包含後端打印結果的截圖,顯示id和status為null)
問題分析:後端使用Integer id, Integer status
接收參數,在處理POST請求時,Spring Boot 默認情況下無法正確解析請求體中的JSON數據到這些參數。
解決方案:修改後端代碼,使用@RequestBody
註解將請求體中的JSON數據綁定到一個對像上。
修改後的後端代碼:
@ApiOperation("訂單管理-修改訂單狀態") @PostMapping("/updatestate") public AjaxResult updateState(@RequestBody OrderStatusDTO orderStatusDTO) { System.out.println("更改訂單編號:" orderStatusDTO.getId() "\n"); System.out.println("更改訂單狀態:" orderStatusDTO.getStatus() "\n"); if (orderStatusDTO.getId() == null) { return AjaxResult.error("輸入主鍵id"); } if (orderStatusDTO.getStatus() == null) { return AjaxResult.error("輸入狀態"); } BorderInfo borderInfo = new BorderInfo(); borderInfo.setId(orderStatusDTO.getId()); borderInfo.setStatus(orderStatusDTO.getStatus()); System.out.println("更改訂單狀態:" borderInfo.toString() "\n"); orderInfoService.update(borderInfo); return AjaxResult.success(); }
新增OrderStatusDTO類:
public class OrderStatusDTO { private Integer id; private Integer status; // getters and setters }
通過使用@RequestBody
註解和創建一個OrderStatusDTO
類來接收前端傳遞的JSON數據,後端就能正確解析數據,避免NULL
值的問題。 請確保前端發送的JSON數據與OrderStatusDTO
的字段名一致。 同時,檢查前端的request
函數是否正確設置了headers
,例如Content-Type: application/json
。
此方案比原先的@RequestParam
方案更符合RESTful API的設計規範,也更清晰地處理了POST請求的body數據。
以上是前端向後端傳遞數據時,後端顯示獲取到的數據為NULL,如何解決?的詳細內容。更多資訊請關注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)

歐易 OKX 是全球領先的數字資產交易平台。 1) 其發展歷程包括:2017年上線,2021年啟用中文名“歐易”,2022年更名為歐易 OKX。 2) 核心服務包括:交易服務(幣幣、槓桿、合約、DEX、法幣交易)和金融服務(餘幣寶、DeFi挖礦、借貸)。 3) 平台特色功能有:行情數據服務和風控體系。 4) 核心優勢包括:技術實力、安全體系、服務支持和市場覆蓋。

量子鏈(Qtum)交易流程包括前期準備、購買和出售三個階段。 1. 前期準備:選擇合規交易所、註冊賬戶、進行身份驗證、設置錢包。 2. 購買量子鏈:充值資金、尋找交易對、下單交易(市價單或限價單)、確認交易。 3. 出售量子鏈:進入交易頁面、選擇交易對和下單類型(市價單或限價單)、確認交易和提現。

虛擬貨幣“最老”排行榜如下:1. 比特幣(BTC),發行於2009年1月3日,是首個去中心化數字貨幣。 2. 萊特幣(LTC),發行於2011年10月7日,被稱為“比特幣的輕量版”。 3. 瑞波幣(XRP),發行於2011年,專為跨境支付設計。 4. 狗狗幣(DOGE),發行於2013年12月6日,基於萊特幣代碼的“迷因幣”。 5. 以太坊(ETH),發行於2015年7月30日,首個支持智能合約的平台。 6. 泰達幣(USDT),發行於2014年,是首個與美元1:1錨定的穩定幣。 7. 艾達幣(ADA),發

選擇加密貨幣交易所的建議:1. 流動性需求,優先選擇幣安、Gate.io或OKX,因其訂單深度與抗波動能力強。 2. 合規與安全,Coinbase、Kraken、Gemini具備嚴格監管背書。 3. 創新功能,KuCoin的軟質押和Bybit的衍生品設計適合進階用戶。

2025年在槓桿交易、安全性和用戶體驗方面表現突出的平台有:1. OKX,適合高頻交易者,提供最高100倍槓桿;2. Binance,適用於全球多幣種交易者,提供125倍高槓桿;3. Gate.io,適合衍生品專業玩家,提供100倍槓桿;4. Bitget,適用於新手及社交化交易者,提供最高100倍槓桿;5. Kraken,適合穩健型投資者,提供5倍槓桿;6. Bybit,適用於山寨幣探索者,提供20倍槓桿;7. KuCoin,適合低成本交易者,提供10倍槓桿;8. Bitfinex,適合資深玩

數字貨幣充值到賬時間因方式不同而異:1. 銀行轉賬通常需1-3個工作日;2. 信用卡或第三方支付平台充值在幾分鐘到幾小時內;3. 數字貨幣轉賬根據區塊鏈確認時間,通常10分鐘到1小時,但可能因網絡擁堵等因素延遲。

USDT轉賬地址錯誤後,首先確認轉賬已發生,然後根據錯誤類型採取措施。 1.確認轉賬:查看交易記錄,獲取並在區塊鏈瀏覽器上查詢交易哈希值。 2.採取措施:若地址不存在,等待資金退回或聯繫客服;若為無效地址,聯繫客服並尋求專業幫助;若轉給了他人,嘗試聯繫收款方或尋求法律幫助。

前十名數字貨幣交易所排名分別是:1. Binance,2. OKX,3. gate.io,4. Coinbase,5. Kraken,6. Bitfinex,7. Huobi,8. KuCoin,9. Bitstamp,10. Gemini,這些平台因其高流動性、廣泛的交易對、相對較低的交易費用、多層次的安全措施以及友好的用戶界面而備受推崇。
