使用和不使用方法的@RequestMapping之间的区别

时间:2017-01-08 16:29:32

标签: spring spring-mvc

我正在学习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);
}

它也有效。所以,我的问题是有什么区别?

1 个答案:

答案 0 :(得分:2)

@RequestMapping注释处理所有类型的传入HTTP请求,包括GET,POST,PUT等。默认情况下,假设所有传入的URL请求都是HTTP GET类型。要通过HTTP请求类型区分映射,您需要显式指定HTTP请求方法。 for more information