Beschreibung von @RequestParam lautet: Es ist aufgeführt.
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.
Ich bin tatsächlich umgezogen und habe bestätigt, dass dies korrekt ist.
SampleController
@Controller
public class SampleController {
//Methode hier hinzufügen
}
name
mit @ RequestParam
anSampleController.java
@GetMapping("/search1")
@ResponseBody
String search1(@RequestParam(name="name") String bar,
@RequestParam(name="id") int hoge ) {
String result = "name="+ bar + ",id=" + hoge;
return result;
}
Wenn ich auf "/ search1? Name = test & id = 2" zugegriffen habe, habe ich "name = test, id = 2" erhalten.
@GetMapping("/search2")
@ResponseBody
String search2(String name, int id ) {
String result = "name="+name + ",id=" + id;
return result;
}
Wenn ich auf "/ search1? Name = test & id = 2" zugegriffen habe, habe ich "name = test, id = 2" erhalten.
@GetMapping("/search6")
@ResponseBody
String search6(@RequestParam Map<String, String> params) {
String result = params.toString();
return result;
}
Wenn ich auf / search6? Name = test & id = 2
zugegriffen habe, habe ich {name = test, id = 2}
erhalten.
@GetMapping("/search5")
@ResponseBody
String search5(Map<String, String> params) {
String result = params.toString();
return result;
}
Beim Zugriff auf / search5? Name = test & id = 2
wurde{}
angezeigt.
@ RequestParam
@GetMapping("/search9")
@ResponseBody
String search6(@RequestParam Map<String, String> params, @RequestParam Map<String, String> params2) {
String result = params.toString() + "," + params2.toString();
return result;
}
Wenn ich auf / search9? Name = test & id = 2
zugegriffen habe, habe ich {name = test, id = 2}, {name = test, id = 2}
erhalten.
@GetMapping("/search8")
@ResponseBody
String search8(@RequestParam MultiValueMap<String, String> params) {
String result = params.toString();
return result;
}
Als ich auf "/ search8? Name = test & id = 2 & name = sample" zugegriffen habe, wurde "{name = [test, sample], id = [2]}" angezeigt.
@GetMapping("/search4")
@ResponseBody
String search4(@RequestParam Map<String, Object> params) {
String result = params.toString();
return result;
}
Wenn ich auf / search4? Name = test & id = 2
zugegriffen habe, habe ich {name = test, id = 2}
erhalten.
@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