Spring 什么';如果我不';你不用它,它还能用吗?

Spring 什么';如果我不';你不用它,它还能用吗?,spring,spring-mvc,spring-boot,Spring,Spring Mvc,Spring Boot,当访问/api?title=something时,它们都按预期工作。那么它们之间的区别是什么呢?是的,只有当发送的requestParam与您的变量名匹配时,它才起作用 试着像这样改变它 @RequestMapping("/api/") public String h(@RequestParam String title){ System.out.println(title); return "view"; } 看看会发生什么我的标题将为空 另一方面,如果使用@RequestP


当访问/api?title=something时,它们都按预期工作。那么它们之间的区别是什么呢?

是的,只有当发送的requestParam与您的变量名匹配时,它才起作用

试着像这样改变它

@RequestMapping("/api/")
public String h(@RequestParam String title){
    System.out.println(title);
    return "view";
}
看看会发生什么<代码>我的标题将为空

另一方面,如果使用
@RequestParam
,它仍然可以使用不同的变量名。 试试这个

@RequestMapping("/api/")
public String h(@RequestParam String myTitle){
    System.out.println(myTitle);
    return "view";
}

另一件事是,如果您想要一些参数作为可选参数,您可以设置
@RequestParam(required=false)

您可以尝试这样的代码:

@RequestMapping(value=“/api”)
公共字符串h(@RequestParam(value=“title”,required=false)字符串标题){
系统输出打印项次(标题);
返回“视图”;
}

@RequestMapping("/api/")
public String h(@RequestParam String myTitle){
    System.out.println(myTitle);
    return "view";
}
@RequestMapping("/api/")
public String h(@RequestParam("title") String myTitle){
    System.out.println(myTitle);
    return "view";
}