ホームページ  >  記事  >  Java  >  requestbody と requestparam の違い

requestbody と requestparam の違い

(*-*)浩
(*-*)浩オリジナル
2020-01-09 10:22:129632ブラウズ

requestbody と requestparam の違い

#@requestparam -www-form-urlencodedエンコードされたコンテンツ。 (HTTP プロトコルでは、Content-Type が指定されていない場合、デフォルトで渡されるパラメーターは application/x-www-form-urlencoded タイプです)

#@RequestBody


HttpEntity によって渡されたデータを処理します。通常、非 Content-Type: application/x-www-form-urlencoded エンコード形式でデータを処理するために使用されます。

•GET リクエストでは、HttpEntity がないため、@RequestBody は適用されません。

•POST リクエストでは、HttpEntity を介して渡されるパラメータは、リクエスト ヘッダーでデータ型 Content-Type を宣言する必要があります。SpringMVC は、

HandlerAdapter で構成された HttpMessageConverters を使用して HttpEntity のデータを解析します。次に、対応する Bean にバインドします。

#概要

•GET リクエストでは @RequestBody は使用できません。

•POST リクエストでは @RequestBody と @RequestParam を使用できますが、@RequestBody を使用する場合はパラメータ変換の設定を統一する必要があります。

たとえば、SpringMVC で構成された HttpMessageConverters 処理スタックで、JSON 変換形式を指定します。たとえば、Date が 'yyyy-MM-dd' に変換される場合、含まれるフィールドはパラメータ受信オブジェクト内で Date 型の場合、クライアントは年、月、日の形式のみを渡すことができますが、時、分、秒は渡すことができません。

インターフェイスが異なると、そのパラメーターの時間パラメーターの形式要件が異なる場合があるため、そうすると、クライアントの呼び出し元の同僚がパラメーターの形式について少し混乱するため、スケーラビリティは高くありません。
@RequestParam を使用してパラメーターを受け入れる場合は、パラメーターを受け入れるモデルで @DateFormat を設定して、受け入れる必要がある時間パラメーターの形式を指定できます。

さらに、@RequestBody を使用して受け入れられたパラメータは、サーブレットによって変換されず、リクエスト オブジェクトの Param パラメータ セットに配置されます。@RequestParam は受け入れられます。

Java 関連の技術記事をさらに詳しく知りたい場合は、

java チュートリアル

列にアクセスして学習してください。

以上がrequestbody と requestparam の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。