Springmvc RequestMapping请求实现方法解析

 更新时间:2020年09月23日 14:33:19   作者:柒  
这篇文章主要介绍了Springmvc RequestMapping请求实现方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

请求url

标记请求URl很简单,只需要在相应的方法上添加注解即可:

@Controller
public class HelloController {
  @RequestMapping("/hello")
  public ModelAndView hello() {
    return new ModelAndView("hello");
  }
}

这里 @RequestMapping(“/hello”) 表示当请求地址为 /hello 的时候,这个方法会被触发。其中,地址可以是多个,就是可以多个地址映射到同一个方法。

@Controller
public class HelloController {
  @RequestMapping({"/hello","/hello2"})
  public ModelAndView hello() {
    return new ModelAndView("hello");
  }
}

这个配置,表示 /hello 和 /hello2 都可以访问到该方法

请求窄化

同一个项目中,会存在多个接口,例如订单相关的接口都是 /order/xxx 格式的,用户相关的接口都是 /user/xxx 格式的。为了方便处理,这里的前缀(就是 /order、/user)可以统一在 Controller 上面处理。

@Controller
@RequestMapping("/user")
public class HelloController {
  @RequestMapping({"/hello","/hello2"})
  public ModelAndView hello() {
    return new ModelAndView("hello");
  }
}

当类上加了 @RequestMapping 注解之后,此时,要想访问到 hello ,地址就应该是 /user/hello 或者 /user/hello2

请求方法限定

默认情况下,使用 @RequestMapping 注解定义好的方法,可以被 GET 请求访问到,也可以被 POST 请求访问到,但是 DELETE 请求以及 PUT 请求不可以访问到。

当然,我们也可以指定具体的访问方法:

@Controller
@RequestMapping("/user")
public class HelloController {
  @RequestMapping(value = "/hello",method = RequestMethod.GET)
  public ModelAndView hello() {
    return new ModelAndView("hello");
  }
}

通过 @RequestMapping 注解,指定了该接口只能被 GET 请求访问到,此时,该接口就不可以被 POST 以及请求请求访问到了。强行访问会报如下错误:

当然,限定的方法也可以有多个:

@Controller
@RequestMapping("/user")
public class HelloController {
  @RequestMapping(value = "/hello",method = {RequestMethod.GET,RequestMethod.POST,RequestMethod.PUT,RequestMethod.DELETE})
  public ModelAndView hello() {
    return new ModelAndView("hello");
  }
}

此时,这个接口就可以被 GET、POST、PUT、以及 DELETE 访问到了。但是,由于 JSP 支支持 GET、POST 以及 HEAD ,所以这个测试,不能使用 JSP 做页面模板。可以讲视图换成其他的,或者返回 JSON,这里就不影响了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • HashMap原理的深入理解

    HashMap原理的深入理解

    这篇文章主要介绍了对HashMap原理的理解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • springboot返回html和jsp的方法示例

    springboot返回html和jsp的方法示例

    这篇文章主要介绍了springboot返回html和jsp的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • springboot使用@KafkaListener监听多个kafka配置实现

    springboot使用@KafkaListener监听多个kafka配置实现

    当服务中需要监听多个kafka时, 需要配置多个kafka,本文主要介绍了springboot使用@KafkaListener监听多个kafka配置实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-04-04
  • Java数据结构之简单的连接点(link)实现方法示例

    Java数据结构之简单的连接点(link)实现方法示例

    这篇文章主要介绍了Java数据结构之简单的连接点(link)实现方法,涉及java指针指向节点的相关使用技巧,需要的朋友可以参考下
    2017-10-10
  • SpringBoot集成nacos动态刷新数据源的实现示例

    SpringBoot集成nacos动态刷新数据源的实现示例

    这篇文章主要介绍了SpringBoot集成nacos动态刷新数据源的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • SpringBoot集成POI导出Execl表格之统一工具类

    SpringBoot集成POI导出Execl表格之统一工具类

    这篇文章主要为大家详细介绍了SpringBoot集成POI导出Execl表格之统一工具类,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-09-09
  • java批量插入数据的几种方法

    java批量插入数据的几种方法

    这篇文章主要给大家介绍了关于java批量插入数据的几种方法,大家在Java项目中经常会出现大量向数据库中插入的情况,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • java中double强制转换int引发的OOM问题记录

    java中double强制转换int引发的OOM问题记录

    这篇文章主要介绍了java中double强制转换int引发的OOM问题记录,本文给大家分享问题排查过程,感兴趣的朋友跟随小编一起看看吧
    2024-10-10
  • java Callable接口和Future接口创建线程示例详解

    java Callable接口和Future接口创建线程示例详解

    这篇文章主要为大家介绍了java Callable接口和Future接口创建线程示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • javascript最新2020经典面试题

    javascript最新2020经典面试题

    这篇文章主要介绍了javascript最新2020经典面试题的相关内容,有需要的朋友们可以学习下。
    2020-02-02

最新评论