ホームページ  >  記事  >  バックエンド開発  >  POST を Spring エンドポイントに送信し、ステータス 400 を返します

POST を Spring エンドポイントに送信し、ステータス 400 を返します

王林
王林転載
2024-02-13 16:10:06795ブラウズ

向 Spring 端点发送 POST,给出状态 400

質問内容

React アプリケーションで playerId パラメータをフロントエンドからバックエンドに渡す際に問題があるようです。 Spring コントローラーの createGame 関数は playerId パラメーターを受け取るように設定されていますが、値は Axios を使用してフロントエンドから正しく渡されません。 playerId として long と string を使用しようとしましたが、問題は解決しません。 まだステータス400です!

###春### ###反応###

これを文字列パラメータとして保存します。

@PathVariable を使用しました。
  1. Postman でパラメータを直接書いてみました。
  2. エンドポイントを変更してみました。
  3. 表示しなかったもう 1 つのエンドポイント (/login) は正常に動作しているため、プロキシには問題ありません。
  4. 回避策
共有された反応スクリーンショットでは、json 本文を送信しているように見えます。

ただし、Spring コントローラーでは @requestparam を使用します。

'/api/games/{playerid}' のような URL を呼び出すように反応部分を変更するか (プレーヤー ID が URL の一部として渡されるようにする)、または @requestbody を受け入れるようにスプリング コントローラーを更新する必要があるようです。 (そして、フィールド「playerid」を持つクラスを作成します) - そのため、オブジェクト全体をリクエスト本文として渡すことができます。

現在、react は本文を送信しますが、Spring は URL クエリ パラメーターを探しています。どちらの部分も、それが何であれ、同じことを行う必要があります。

春の変更点は以下の通りです。

リーリー

以上がPOST を Spring エンドポイントに送信し、ステータス 400 を返しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。