前層パラメータが-controller SpringBootソースパッケージの解析原則コントローラ層パラメータspringbootパッケージを解析してきたが、それは動作しません、結局のところ、あなたは常にゆっくりと分析する時間を持って、時には迅速クエリも非常に必要であるが。だから、今日は便利なクイックリファレンス後に、パッケージ注釈付きのコントローラ層をどのパラメータの意味を総括し、使用します。
@RequestParamコメント
アノテーションは主に、一例として、2つの方法で使用されています
1.パラメータ名を指定してください
http://127.0.0.1:8080/hello?id=123
@GetMapping("hello")
public String hello(@RequestParam("id") String id){
log.info("[{}]",id);
return "hello";
}
id = 123
复制代码
2.パラメータ名を指定しません
http://127.0.0.1:8080/hello?id=123&name=liuyu
@GetMapping("hello")
public String hello(@RequestParam Map<String,String> value){
System.out.println(value);
return "hello";
}
value = {id=123, name=liuyu}
复制代码
私たちは要求された値の取得値のすべてを取得したい場合は、明示的RequestParam注釈を指定し、パラメータを受け取るためにマップを使用することはできません。私たちは要求された値の全てを取得することができるように。
@PathVariableコメント
アノテーションは主に、一例として、2つの方法で使用されています
1.パラメータ名を指定してください
http://127.0.0.1:8080/hello/liuyu/qwert
@GetMapping("hello/{id}/{name}")
public String hello(@PathVariable("id") String id,@PathVariable("name") String name){
System.out.println(value);
System.out.println(name);
return "hello";
}
id = liuyu ,name = qwert
复制代码
2.パラメータ名を指定しません
http://127.0.0.1:8080/hello/liuyu/qwert
@GetMapping("hello/{id}/{name}")
public String hello(@PathVariable Map<String,String> map){
System.out.println(map);
return "hello";
}
map = {id=liuyu, name=qwert}
复制代码
@MatrixVariableコメント
あなたはこの注釈を使用する場合は設定を開く必要があります
@Component
public class GlobalWebMvcConfigurer implements WebMvcConfigurer {
@Override
public void configurePathMatch(PathMatchConfigurer configurer) {
UrlPathHelper urlPathHelper=new UrlPathHelper();
urlPathHelper.setRemoveSemicolonContent(false);
configurer.setUrlPathHelper(urlPathHelper);
}
}
复制代码
アノテーションは主に、一例として、2つの方法で使用されています
指定されたパラメータ名
http://127.0.0.1:8080/hello/liu;value=123
@GetMapping("hello/{id}")
public String hello(@PathVariable(name = "id") String name,@MatrixVariable(name = "value") String value){
System.out.println(name);
System.out.println(value);
return "hello";
}
id = liu
value = 123
复制代码
パラメータ名を指定しないでください
http://127.0.0.1:8080/hello/liu;value=123;name=qwe
@GetMapping("hello/{id}")
public String hello(@PathVariable(name = "id") String name,@MatrixVariable Map<String,String> value){
System.out.println(name);
System.out.println(value);
return "hello";
}
id = liu
value = {value=123, name=qwe}
复制代码
@RequestBodyコメント
ポスト要求、特定のエンティティBeanにカプセル化要求
post请求体
{
"name":"liu",
"id":"123"
}
@PostMapping("hello")
public String hello(@RequestBody User user){
System.out.println(user);
return "hello";
}
user(id=123, name=liu)
复制代码
@RequestHeaderコメント
リクエストヘッダフィールドを取得し、そこに単一の取得の同じ2つの用途があり、すべての要求ヘッダー要求ヘッダーを取り込みます。
@CookieValueコメント
クッキー内のキーと値のペアの値を取得します。
请求头添加 Cookie:value=liuyu
@GetMapping("hello")
public String hello(@CookieValue(name = "value") String user){
System.out.println(user);
return "hello";
}
user = liuyu
复制代码
@SessionAttribute注釈やメモ@RequestAttribute
どちらの注釈機能は、実際のセッションのようなビットは、1つの要求のを見ている、対応するオブジェクトを検索します。