フロントエンドがデータをバックエンドに渡すと、バックエンドは取得したデータがnullであることを表示します。それを解決する方法は?
問題の説明: Ruoyi個別のフレームワークを使用する開発プロセス中、フロントエンドはPOSTリクエストを使用してデータをバックエンドに渡すが、バックエンドはヌル値を受信します。
フロントエンドコード:
//注文ステータスエクスポート機能updateOderStatus(id、status)を変更する{ const data = { ID、 状態 } リクエストを返す({ url: "/business/orderfo/updatestate"、 方法:「投稿」、 データ:データ }) }
フロントエンドリクエストデータのスクリーンショット:(フロントエンドリクエストデータのスクリーンショットはこちらに含める必要があります)
バックエンドコード(元のコード):
@Apioperation( "Order Management-Modify Order Status")) @apiimplicitparams({ @apiimplicitparam(name = "id"、value = "プライマリキーID"、必須= true、datAtype = "integer")、 @apiimplicitparam(name = "status"、value = "status 0 end it 1"、必須= true、dataType = "integer") }) @postmapping( "/updatestate") public ajaxResult updatestate(整数ID、整数ステータス){ System.out.println( "注文番号を変更:" id "\ n"); System.out.println( "順序ステータスを変更:"ステータス "\ n"); // ...(他のコード) }
バックエンド印刷の結果のスクリーンショット:(これには、バックエンド印刷の結果のスクリーンショットが含まれ、IDとステータスをnullとして表示する必要があります)
問題分析:バックエンドはInteger id, Integer status
を使用してパラメーターを受信します。 POSTリクエストの処理の場合、Spring Bootは、デフォルトでこれらのパラメーターにリクエスト本文のJSONデータを正しく解析できません。
解決策:バックエンドコードを変更し、 @RequestBody
アノテーションを使用して、リクエスト本体のJSONデータをオブジェクトにバインドします。
変更されたバックエンドコード:
@Apioperation( "Order Management-Modify Order Status")) @postmapping( "/updatestate") public ajaxresult updatestate(@requestbody orderstatusdto orderstatusdto){ system.out.println( "注文番号を変更:" orderstatusdto.getid() "\ n"); System.out.println( "順序ステータスを変更:" orderstatusdto.getStatus() "\ n"); if(orderstatusdto.getid()== null){ ajaxresult.errorを返します( "プライマリキーIDを入力"); } if(orderstatusdto.getStatus()== null){ ajaxresult.error( "入力ステータス"); } borderinfo borderinfo = new borderinfo(); borderinfo.setid(orderstatusdto.getid()); borderinfo.setstatus(orderstatusdto.getStatus()); system.out.println( "順序ステータスを変更:" borderinfo.toString() "\ n"); orderinfoservice.update(borderinfo); ajaxresult.success()を返します。 }
Orderstatusdtoクラスを追加:
パブリッククラスorderstatusdto { プライベート整数ID; プライベート整数ステータス。 //ゲッターとセッター }
@RequestBody
Annotationを使用し、 OrderStatusDTO
クラスを作成してフロントエンドで渡されたJSONデータを受信することにより、バックエンドはデータを正しく解析して、 NULL
値の問題を回避できます。フロントエンドから送信されたJSONデータが、 OrderStatusDTO
のフィールド名と一致していることを確認してください。同時に、フロントエンドrequest
関数がContent-Type: application/json
などのheaders
を正しく設定しているかどうかを確認します。
このソリューションは、元の@RequestParam
ソリューションよりもRESTFUL APIの設計仕様に沿ったものであり、POSTリクエストのボディデータをより明確に処理します。
以上がフロントエンドがデータをバックエンドに渡すと、バックエンドは取得したデータがnullであることを表示します。それを解決する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Redisキャッシュソリューションは、製品ランキングリストの要件をどのように実現しますか?開発プロセス中に、多くの場合、ランキングの要件に対処する必要があります。

OUYI OKXは、世界をリードするデジタル資産取引プラットフォームです。 1)その開発履歴が含まれます。2017年に開始され、中国名「OUYI」は2021年に発売され、2022年にOUYI OKXと改名されます。 3)プラットフォームの特別な機能には、マーケットデータサービスとリスク制御システムが含まれます。 4)コアの利点には、技術的な強さ、セキュリティシステム、サービスサポート、市場のカバレッジが含まれます。

マルチノード環境でのスプリングブートタイミングタスクの最適化ソリューションは、春の開発です...

デジタル通貨の充電の時間は、方法によって異なります。1。銀行の譲渡には通常1〜3営業日かかります。 2。数分から数時間以内にクレジットカードまたはサードパーティの支払いプラットフォームの充電。 3.デジタル通貨移転の充電時間は、通常、ブロックチェーンの確認時間に基づいて10分から1時間ですが、ネットワークの輻輳などの要因により遅延する場合があります。

Quantum Chain(QTUM)トランザクションプロセスには、予備準備、購入、販売の3つの段階が含まれます。 1。準備:準拠した交換を選択し、アカウントを登録し、身元確認を実行し、ウォレットをセットアップします。 2。量子チェーンの購入:資金を充電し、取引ペアを見つけ、注文または注文を制限する)、取引を確認します。 3.量子チェーンの販売:取引ページを入力し、取引ペアと注文タイプ(市場注文または制限順序)を選択し、取引を確認し、現金を引き出します。

バッチクエリにRediStemplateを使用するときに、なぜ返品値が空になるのですか?バッチクエリ操作にRedistemplateを使用する場合、返された結果に遭遇する可能性があります...

仮想通貨の「最古」のランキングは次のとおりです。1。Bitcoin(BTC)は、2009年1月3日に発行され、最初の分散型デジタル通貨です。 2。2011年10月7日にリリースされたLitecoin(LTC)は、「ビットコインの軽量バージョン」として知られています。 3。2011年に発行されたRipple(XRP)は、国境を越えた支払い用に設計されています。 4。2013年12月6日に発行されたDogecoin(Doge)は、Litecoinコードに基づいた「Meme Coin」です。 5。2015年7月30日にリリースされたEthereum(ETH)は、スマートコントラクトをサポートする最初のプラットフォームです。 6。2014年に発行されたTether(USDT)は、米ドル1:1に固定された最初のスタブコインです。 7。アダ、

暗号通貨交換を選択するための提案:1。流動性の要件については、優先度は、その順序の深さと強力なボラティリティ抵抗のため、Binance、gate.ioまたはokxです。 2。コンプライアンスとセキュリティ、Coinbase、Kraken、Geminiには厳格な規制の承認があります。 3.革新的な機能、Kucoinのソフトステーキング、Bybitのデリバティブデザインは、上級ユーザーに適しています。
