spring - 使用@RequestMapping 和不使用方法的区别

标签 spring spring-mvc

我正在学习 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/

相关文章:

java - Spring Web - 类级 RequestMapping 不起作用

java - 无法使用 Spring Framework SimpleJdbcInsert 插入到 Sql Server

java - 内置通用功能的框架

java - Spring 3,JSR-303(bean 验证)和验证集合

SpringMVC - 无法访问 index.jsp 中的 JS 和 CSS 文件

java - 我无法使用Spring MVC 3访问jsp页面

angularjs - Spring CSRF + AngularJs

java - 使用 java 8 和服务注入(inject)的策略模式

java - "org.hibernate.TransactionException: nested transactions not supported"但我没有嵌套事务

spring - 无法执行目标 org.springframework.boot :spring-boot-. 。 :2. 1.8。运行时发生异常。无效的