我正在学习Spring和MVC。
所以,在控制器类中,我有这个方法:
@RequestMapping(value="/buscaUsuario/{apodo}", method= RequestMethod.GET)
public String searchUser(@PathVariable("apodo") String apodo){
String res;
int usrId = this.usuarioService.bucarUsuario(apodo);
if(usrId == 0) res = "/error";
else res =("/user/"+Integer.toString(usrId));
return ("redirect:"+res);
}
它有效。但如果我改变它删除“method = RequestMethod.GET”部分。我的意思是,像这样使用它:
@RequestMapping(value="/buscaUsuario/{apodo}")
public String searchUser(@PathVariable("apodo") String apodo){
String res;
int usrId = this.usuarioService.bucarUsuario(apodo);
if(usrId == 0) res = "/error";
else res =("/user/"+Integer.toString(usrId));
return ("redirect:"+res);
}
它也有效。所以,我的问题是有什么区别?
答案 0 :(得分:2)
@RequestMapping注释处理所有类型的传入HTTP请求,包括GET,POST,PUT等。默认情况下,假设所有传入的URL请求都是HTTP GET类型。要通过HTTP请求类型区分映射,您需要显式指定HTTP请求方法。 for more information