我正在学习 Spring 和 MVC。
所以,在 Controller 类中,我有这个方法:
@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);
}
它也有效。所以,我的问题是有什么区别?
最佳答案
@RequestMapping 注释处理所有类型的传入 HTTP 请求,包括 GET、POST、PUT 等。默认情况下,假定所有传入的 URL 请求都是 HTTP GET 类型的。要通过 HTTP 请求类型区分映射,您需要显式指定 HTTP 请求方法。 for more information
关于spring - 使用@RequestMapping 和不使用方法的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41534933/