MethodHandle.invoke
@RequestMapping("/api/")
public String h(String title){
System.out.println(title);
return "view";
}
访问/ api?title = something时,它们都按预期工作。那么它们之间有什么区别呢?
答案 0 :(得分:1)
是的,仅当requestParam发送与您的变量名称匹配时,它才有效。
尝试像这样更改
@RequestMapping("/api/")
public String h(@RequestParam String myTitle){
System.out.println(myTitle);
return "view";
}
看看会发生什么。 myTitle
将为空。
另一方面,如果您使用@RequestParam
,它仍然可以使用不同的变量名称。
试试这个。
@RequestMapping("/api/")
public String h(@RequestParam("title") String myTitle){
System.out.println(myTitle);
return "view";
}
另一件事是你可以设置@RequestParam(required = false)
,如果你想要一些参数可选。
答案 1 :(得分:0)
您可以尝试这样的代码:
@RequestMapping(value = "/api")
public String h(@RequestParam(value = "title", required = false) String title) {
System.out.println(title);
return "view";
}