@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatMapping、@Request Mapping詳細解
1625 ワード
最近プロジェクトを書いていますが、急にcontroller層に@PostMappingと書く人がいます.これはよく使う@Request Mappingの私にとって、不思議な感じがします.インターネットでいくつかの資料を探しました.ここでまとめます.
Spring 4.3には、よく使われるHTTPメソッドのマッピングを簡略化し、注釈された方法の意味をよりよく表現するために、{@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatMapping}が導入されています.@GetMapping:get要求を処理して、伝統的なRequest Mappingは@Request Mappingであるべきです.method=Request Method.GET)新しい方法は簡単に書くことができます. @PostMapping:postリクエストを処理し、伝統的なRequest Mappingを作成するべきです.それは@Request Mapping(value=「/get/id」、method=Request Method.POST)の新しい方法です. @PutMapping:PostMappingと同じように、サーバに情報を提出するために使用されます.情報を追加する場合は、@PostMappingを用いる傾向があり、情報を更新する場合は@PutMappingを用いる傾向がある.両者の違いはあまりはっきりしていません. @DeleteMappingはURLマップを削除します.具体的には実践で使ったことがありません.いいところが分かりません. @Patch Mappingは今までどのように使うか分かりません.どんなシーンで使いますか?知っている歓迎のメッセージや私信があります.
上のすべてのmappingはあくまでも二つの要求です.つまり、postとget、Spinrgオフィシャルが多くの要求を導入している理由は、配置を簡略化しているからです.postとgetの違いは以下の通りです.まず、どのような場合にget要求ですか? ブラウザのアドレスバーに直接にあるアドレスを入力します. フォームのデフォルトの提出方式 どのような状況でポスト要請ですか?フォームmethod=「post」 を設定します. ajax type:‘post’、 ブラウザがurlで処理する要求をget要求としていますが、もしバックグラウンドの制限がpostでしか要求できない場合、以下のようなエラーが発生します.
Spring 4.3には、よく使われるHTTPメソッドのマッピングを簡略化し、注釈された方法の意味をよりよく表現するために、{@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatMapping}が導入されています.
上のすべてのmappingはあくまでも二つの要求です.つまり、postとget、Spinrgオフィシャルが多くの要求を導入している理由は、配置を簡略化しているからです.postとgetの違いは以下の通りです.まず、どのような場合にget要求ですか?
method not allowed, The specified HTTP method is not allowed for the requested resource.
get要求の特徴:a.要求パラメータは要求リソースパスの後ろに追加されます.少量のパラメータしか追加できません.(要求行は一行しかないので、約2 Kぐらいのデータは保存できません.)b.要求パラメータはブラウザのアドレスバーに表示されます.ルータは要求アドレス(極めて危険です.)cを記録します.中国語を転送すると、必ず文字化けします.(理由:get要求デフォルト符号化フォーマットは、IIO-859-1、バックグラウンド符号化フォーマットは、一般的にGBKまたはUTF-8)post要求の特徴:a.要求パラメータをエンティティコンテンツに追加すると、大量のパラメータが追加されます.b.比較的安全であるが、post要求は要求パラメータを暗号化しない(httpsプロトコルを使用してデータの安全を保証できる)