I.概要
テストインタフェースについて、あなたは郵便配達のクライアントバージョンを使用することができ、郵便配達のプラグインは、Chromeブラウザに直接インストールすることができます。郵便配達のクライアントバージョン
より強力な機能が、テストは、セッションIDなどの別の認証パラメータを設定する必要がある場合インターフェイスは、テストを投稿するにはログインする必要があるため、郵便配達のプラグインバージョンのため、
テストは唯一のウェブサイトを訪問する必要がした後、あなたが直接リクエストパラメータを設定することができ、このパラメータのセッションIDを設定する必要があります。
1.データリクエストボディタイプ:
(1)フォームデータ(POST)
いずれかのキーと値のペアをアップロードし、あなたはまた、ファイル(マルチパート/フォームデータ)をアップロードすることができます。ファイルがフィールドにアップロードされると、コンテンツタイプは、ドキュメントの種類になります。
MultipartHttpServletRequestは、「名前」によって受信されたAPIのspringmvcに従って使用することができる、情報フィールドのいくつかを説明するためのコンテンツ配置
また、ファイルMulTipartFile配列の複数を受けることができる、異なるキーを取得します。
(2)x-www-form-urlencodedで(ポスト)
データは、名前= Javaと年齢= 23、などのキーと値のペアの形に変換されます 。@RequestParam後端部を使用してパラメータを受信します。@RequestParamを使用しました
コンテンツタイプの処理:コンテンツ/ x-www-form-urlencodedでのエンコードのためのアプリケーションを、提出は、GET、POST、@RequestParamは道を処理することができます
RequestParam基礎となるパラメータはrequest.getParameterの方法によって得られる@値をクエリ文字列、後処理は、本体データ値に記載されてもよいです。
要求オブジェクトは(この後端又はデフォルトモードなし)JSON遠位バックエンド@RequestParamを渡されます。
(3)生(ポスト)
任意の形式のテキストをアップロードすることができ、テキスト、JSON、XML、HTMLのアップロード等; むしろJSONオブジェクトよりも文字列のJSONオブジェクトを、受け入れる@RequestBody、
多くの場合、JSONオブジェクトを要求すると、オブジェクトは、JSON文字列JSON.stringify(データ)の方法になることができるようになります。文字列オブジェクトのJSON遠位後部@RequestBodyを使用するための要求を渡します。
(4)バイナリ(POST)
どのキーが存在しないためだけなので、唯一の(Content-Typeのと同等:アプリケーション/オクテットストリーム)一つのファイルをアップロードし、一般的にファイルをアップロードするために使用されるバイナリデータをアップロードすることができます。
2.ノート@RequestParamと@RequestBodyの違い
(1)@RequestParam
requestHeaderから@RequestParamアノテーションは、パラメータ、すなわち要求ヘッダーを受信しました。、通常POSTの他のタイプと同様に、使用要求をGETリクエストをDELETEなども使用することができます。
使用例:
要求URL: HTTP:// XXX:8080タイプの/ getByNameAndType名= 1 =フェイ& @RequestParam 3つの設定パラメータがあります。 デフォルトはに本当であるかどうかを示す必要があります必要な、あなたがしなければならない; はdefaultValueは、リクエストパラメータのデフォルト値を設定することができます。 値は、URLを受信します(キー値に対応する)パラメータ名; @RequestMapper(値 = "getByNameAndType"、メソッド= RequestMethod.GET) 公共一覧<ユーザー> getByNameAndType(@RequestParam(値= "名前"、必要= trueに、はdefaultValue = "イーフェイ" )文字列名、 @RequestParam(値 = "タイプ"、必須= trueに、はdefaultValue =」1" )は、文字列型){} ...... コンテンツ処理する@RequestParam -Typeは、application / x-www-形態であります-urlencodedコンテンツ符号化、のContentプロパティのタイプのデフォルトを。 DELETEなどの要求に、POST:@RequestParamはまたような要求の他のタイプに使用することができます。例えば、以下に示すように、単一のテーブル、文言コントローラ層にデータを挿入するとして: @RequestMapper(値 =「保存」、メソッド= RequestMethod.POST) 公共 ボイド保存(ユーザーユーザー)......} {
(2)@RequestBodyは
受信したパラメータ、すなわち要求本体から@RequestBody requestBodyを注釈付き。通常、非コンテンツタイプを処理する:アプリケーション/ X- WWW-form-urlencodedで
アプリケーション/ JSONの種類、アプリケーション/ xmlデータ等:などのデータ符号化フォーマット、。典型的にはPOSTを受信するために、要求および他のタイプのデータを削除して、タイプが適用されてもよいGET。
データのアプリケーション/ JSONの種類には、バックエンド、その後、解析、バックエンドへのすべてのJSONデータ内の注釈@RequestBody体を使用することができます。
@RequestMapper(値= "保存"、メソッド= RequestMethod.POST) 公共 ボイド(@RequestBodyユーザーユーザ)に保存{...}
プロセスは、コンテンツのコンテンツタイプアプリケーション/ JSONは、符号化された郵便配達を@RequestBodyするために使用することができるので、ボディタイプが選択され
た行を- > JSON(アプリケーション/ JSON )、 これも自動的にヘッダーのContent-Typeに変更されます。アプリケーション/ JSONエンコード形式。
キー属性の値は、JSON文の内部ボディとエンティティクラスの後端部に対応しています。
注:$アヤックスフロントエンド、それはcontentTypeの指定する必要があります: "アプリケーション/ JSONを;のcharset = UTF-8;"、 デフォルトは、application / x-www-フォーム-で URLエンコード。
第二に、使用
私はここで使用され、クロムのプラグインの形です。
1. GET
バックエンドのコード:
( "GET" @GetMapping ) 公衆は(整数ID)を取得ResponseVO { 戻りResponseVO.success(roleService.getById(ID))。 }
2.ポスト
(1)@RequestParam:オブジェクトのフロントエンドは、JSONを渡す必要があります
採用受信アレイの場合後端試験の先端があった場合、例えば、複数のキー値のために提供されてもよいです。
IDS:1つのIDS:2つのIDS:3
@PostMapping( "削除" ) 公衆 ResponseVOは(@RequestParam( "IDS"を削除)整数[] IDS){ roleService.delete(ID)を、 返すResponseVO.successを(); }
(2)@RequestBody:後端部によって受信されたJSON文字列
@PostMapping( "編集" ) 公衆ResponseVO編集(@RequestBody RolePo rolePo){ 戻りResponseVO.success(roleService.save(rolePoを)); }
参照文献:
https://blog.csdn.net/feiyst/article/details/88431621
ノート@RequestParamと@RequestBody利用シナリオ