要求方法(@Request Mapping、@GetMapping、@PostMapping)
8255 ワード
0.主な説明
名前説明@ControllerどのControllerが「クエリー@リカバリマッピング」要求に対してクラスをControllerとして指定するかを示します.どのメソッドが処理する名前@requestParamControllerメソッドをマッピングするためのパラメータをセッションに格納して使用します.また、WebリクエストパラメータとWebリクエストパラメータをマッピングするための名前@モデル属性コントローラメソッドのパラメータまたは戻り値を使用して、モデルオブジェクトの名前@SessionAttributeModelオブジェクトの名前をバインドします.Sean@RequestPartMultipartリクエストの場合:Webリクエストパラメータとマッピング可能言語(egov 3.0、Spring 3.1.xから追加)@CommandMapControllerメソッドのパラメータがMap形式で受信された場合、Webリクエストパラメータとマッピング言語(egov 3.0から追加)@Controller AdviceControllerの補助ツールで、コントローラが使用する汎用機能をモジュール化してグローバル書き込みを実現(egov 3.0、Spring 3.2.xから)
@RequestMappingとは?
特定のURLからの要求を受信した場合、どのコントローラが処理するかを知る必要があります.
このとき、特定のurlを要求を実行するコントローラにマッピングする方法は、
@RequestMapping
である.2.マッピングを要求する動作
SpringBootアプリケーションを実行する場合は、アプリケーションが使用するbaenを含むアプリケーションコンテキストを作成して初期化します.
@RequestMapping
Handler登録これらの方法は、アプリケーションContextリフレッシュ中に発生します.refreshプロセスでは、Spring Application
は駆動のために多くのbeanを生成し、そのうちの1つはRequestMappingHandlerMapping
である.このbeanには、@RequestMapping
として登録する方法があり、リクエストを受信したときにマッピングを実行します.3.@RequestMappingで使用するプロパティ
名称タイプ説明valueString[]URL値マッピング条件(default)メソッドは、HTTPリクエストメソッド[]の値をマッピング条件とし、利用可能なメソッドは、GET、POST、HEAD、OPTIONS、PUT、DELETE、URLは、ProductesString[]設定が受信要求ヘッダに一致しない限り、TRACE(7個)paramsString[]HTTP要求パラメータをマッピング条件としてconsumersString[]設定とContent-Type要求ヘッダマッチングを付与する場合にのみ呼び出されます.
value
valueは、接続するurlを表します.通常、ホストアドレスとポート番号の他に、REST APIに基づいてURLを設計する.@RequestMapping(value="/hello")
上記のマッピングが行われた場合、通常、ローカル環境ではlocalhost:8080/helloを使用してurlを入力します.それだけでなくvalueまたは複数のリクエストを省略することもできます.@RequestMapping({"/hello", "/hello-buddy", "/hello/**"}
前述したように、3つのURLのいずれにも接続可能な複数のリクエストを行うことができる.パス変数(@PathVariable)の使用
それだけでなく、最近のHTTP APIは、リソースパスに識別子を追加するスタイルが好きです.クエリー・パラメータを使用して識別子を追加する方法もありますが、パス変数を使用するとマッピングされた部分を簡単にクエリーできます.
@GetMapping("/mapping/{userId}")
public String mappingPath(@PathVariable("userId") String data) {
log.info("mappingPath userId={}", data);
return "ok";
}
@GetMapping("mapping/{userId}")
public String mappingPath(@PathVariable String userId) {
log.info("mappingPath userId={}", userId);
return "ok";
}
@PathVariable
宣言宣言された「userId」はString
データとしてデータにマッピングされ、下図に示すように、同じパラメータを宣言することは省略できます. @GetMapping("/mapping/users/{userId}/orders/{orderId}")
public String mappingPath(@PathVariable String userId, @PathVariable Long orderId) {
log.info("mappingPath userId={}, orderId={}", userId, orderId);
return "ok";
}
同様に、@PathVariable
は複数の用途に使用することができる.method
GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRACE
など.通常、@RequestMapping
arnotationでは、以下の方法を使用することができる.@RequestMapping(method = RequestMethod.GET, value = "/hello")
しかし、GET, POST, PUT, PATCH, DELETE
Methodには、@GetMapping
または@PostMapping
のような対応するメソッドオプションが適用された名前が存在し、@RequestMapping
の下にコードを書くことができ、コードをより簡潔にすることができる.また,
@RequestMapping
はクラスやメソッドに貼り付けることができ,@GetMapping, @PostMapping, @PutMapping, @DeleteMapping
などはメソッドにのみ貼り付けることができる.Link
https://tecoble.techcourse.co.kr/post/2021-06-18-spring-request-mapping/ ,
https://sarc.io/index.php/development/1139-requestmapping ,
https://mungto.tistory.com/436 ,
https://dahliachoi.tistory.com/42 ,
Reference
この問題について(要求方法(@Request Mapping、@GetMapping、@PostMapping)), 我々は、より多くの情報をここで見つけました https://velog.io/@dyunge_100/Spring-요청-방식RequestMapping-GetMapping-PostMappingテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol