[3]速い学ぶspringboot。パラメータは、さまざまな方法を受け入れます

序文

開発では、我々は多くの場合、パラメータ渡しモードの様々な遭遇します。ここで、我々は要約に来て、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で再現

おすすめ

転載: blog.csdn.net/weixin_34252686/article/details/93183791