序文
開発では、我々は多くの場合、パラメータ渡しモードの様々な遭遇します。ここで、我々は要約に来て、springbootは引数を取るための方法を使用することができます。
URLパラメータ
このパラメータは、組み合わせのURLで、のような形をURL / {ID}。springbootでは、そのようなパラメータを使用することができる受け入れる次のように、PathVariable注釈:
@GetMapping(value = "/param/{id}")
public Object pathVariable(@PathVariable(value = "id") Integer id) {
return id;
}
复制代码
テスト
フォームパラメータの型
フォームのようなパラメータ:名= XXX&年齢= xxxの。URLにスプライシングされ得る、などgetメソッドとして、それは、http requestBody内部に配置することができます。このパラメータは、次のようなRequestParamノート受け入れを、使用することができます。
@PostMapping(value = "/param")
public Object queryString(@RequestParam(value = "username") String name,
String remark) {
Map<String, String> map = new HashMap<>();
map.put("name", name);
map.put("remark", remark);
return map;
}
复制代码
本明細書で使用RequestParam注釈は、ユーザ名パラメータは、名前を受信し、リクエストパラメータとパラメータと一致する方法ならば、それはRequestParam注釈を省略することができるので、第2のパラメータRequestParam注釈注釈を使用しません。
次のようにテストは以下のとおりです。
最初:直接URLのパラメータに要求
リクエスト上のURLのパラメータ
第二:身体のリクエストパラメータ
フォーマットのカールを表示するコード郵便配達員をクリックして、それは形式の名前= XXX&年齢= xxxのことがわかります
JSONタイプ
このタイプは、ほぼすべてのシステムは、データ転送のJSON形式を使用し、安らかで最も人気のあるスタイルです。
私たちは、最初のパラメータは、フィールド名を含むカテゴリは、キーJSONパラメータと一致するように受け入れ作るために使用される、Personクラスを定義します。
public static class Person {
private String username;
private String remark;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
}
复制代码
私たちは、JSONパラメータを受け入れるために注釈を使用することができますRequestBody
@PostMapping(value = "/param/json")
public Object json(@RequestBody Person person) {
return person;
}
复制代码
テスト
我々はパラメータを受け入れるためにオブジェクトを定義したくない場合は、受信するために地図を使用することができます。
@PostMapping(value = "/param/map")
public Object map(@RequestBody Map data) {
System.out.println(data.get("username"));
System.out.println(data.get("remark"));
return data;
}
复制代码
要求ヘッダーを受け入れます
いくつかのインターフェイスは、転送要求ヘッダパラメータは、このようなシステムの認証トークンを使用するように、トークンヘッドは、一般的に要求で運ば、またはクッキーに(クッキーはまた、ヘッドを要求)を必要とします。次のように私たちは、RequestHeaderを受け入れるために注釈を使用することができます。
@GetMapping(value = "/param/header")
public Object header(@RequestHeader(value = "token") String token) {
return token;
}
复制代码
クッキーのパラメータを受け入れます
クッキーのパラメータを受け入れ、あなたはにcookievalueを受け入れるために注釈を使用することができます
@GetMapping(value = "/param/cookie")
public Object cookie(@CookieValue(name = "token") String token) {
return token;
}
复制代码
ます。https://juejin.im/post/5d05e5f9f265da1b6c5f74b4で再現