Dans Description de @RequestParam, c'est comme suit. Il est répertorié.
If the method parameter is Map<String, String> or MultiValueMap<String, String> and a parameter name is not specified, then the map parameter is populated with all request parameter names and values.
J'ai en fait déménagé et confirmé que c'était correct.
SampleController
@Controller
public class SampleController {
//Ajouter une méthode ici
}
name
avec @ RequestParam
SampleController.java
@GetMapping("/search1")
@ResponseBody
String search1(@RequestParam(name="name") String bar,
@RequestParam(name="id") int hoge ) {
String result = "name="+ bar + ",id=" + hoge;
return result;
}
Quand j'ai accédé à / search1? Name = test & id = 2
, j'ai name = test, id = 2
.
@ RequestParam
@GetMapping("/search2")
@ResponseBody
String search2(String name, int id ) {
String result = "name="+name + ",id=" + id;
return result;
}
Quand j'ai accédé à / search1? Name = test & id = 2
, j'ai name = test, id = 2
.
Map <String, String>
@ RequestParam
@GetMapping("/search6")
@ResponseBody
String search6(@RequestParam Map<String, String> params) {
String result = params.toString();
return result;
}
Quand j'ai accédé à / search6? Name = test & id = 2
, j'ai {name = test, id = 2}
.
@ RequestParam
@GetMapping("/search5")
@ResponseBody
String search5(Map<String, String> params) {
String result = params.toString();
return result;
}
Quand j'ai accédé à / search5? Name = test & id = 2
,{}
était affiché.
@ RequestParam
@GetMapping("/search9")
@ResponseBody
String search6(@RequestParam Map<String, String> params, @RequestParam Map<String, String> params2) {
String result = params.toString() + "," + params2.toString();
return result;
}
Quand j'ai accédé à / search9? Name = test & id = 2
, j'ai obtenu {name = test, id = 2}, {name = test, id = 2}
.
MultiValueMap <String, String>
@ RequestParam
@GetMapping("/search8")
@ResponseBody
String search8(@RequestParam MultiValueMap<String, String> params) {
String result = params.toString();
return result;
}
Quand j'ai accédé à / search8? Name = test & id = 2 & name = sample
,{name = [test, sample], id = [2]}
était affiché.
Map <String, Object>
@ RequestParam
@GetMapping("/search4")
@ResponseBody
String search4(@RequestParam Map<String, Object> params) {
String result = params.toString();
return result;
}
Quand j'ai accédé à / search4? Name = test & id = 2
, j'ai {name = test, id = 2}
.
@ RequestParam
@GetMapping("/search3")
@ResponseBody
String search3(SampleBean params) {
String result = "name="+params.getName() + ",id=" + params.getId();
return result;
}
@Data //lombok annotation
public static class SampleBean {
String name;
int id;
}
http://www.ne.jp/asahi/hishidama/home/tech/java/spring/boot/RequestParam.html
Recommended Posts