springboot中@RequestMapping的用法

目录
  • springboot@RequestMapping用法
    • 1.value
    • 2.method
    • 3.headers
    • 下面给大家介绍几个小技巧
  • springboot一些注释的详解(@RequestMapping)
    • @RequestMapper的源码如下
    • 实例

springboot @RequestMapping用法

@RequestMapping是一个非常常见的注解,他是一个用来处理地址映射请求的注解,可以用于方法或者类上进行以产生对应路径的。

如果用于类上,大多数是为了进行区分controller。用于方法上则是对方法进行注解以产生访问的路径。

estParam只可以对一个参数进行注解。

@RequestMapping有六个参数,我认为有三个比较重要,介绍下:

1.value

用于设置方法或者类的映射路径,可以直接写路径,即@RequestMapping("/Student");==@RequestMapping(value="/Student");

2.method

用于指定请求的方法,可以设置单个或多个,如果请求方法不满足条件则会请求失败。

3.headers

headers这个参数,让人有种望文生义的感觉。看着这个单词就大概可以猜到,他是和请求头部有关,而事实上也确实是这样。用于指定请求的headers,必须要含有这个headers才可以请求。

前四个感觉还是很重要的,特别是前两个,但是最后两个就不清楚以后是否要用到。

下面给大家介绍几个小技巧

1、@RequestMapping(value = {"/say","hi"},method = RequestMethod.GET),这里面的say和hi是或的关系,输入其中的任何一个都能访问此接口,例如:

其中@RequestMapping(value = {"/say","hi"},method = RequestMethod.GET)和@GetMapping(value = {"/say","hi"})是等价的,用其中任何一个都可以。

2、取路径中id的两种方式

springboot一些注释的详解(@RequestMapping)

@RequestMapper的源码如下

@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Mapping
public @interface RequestMapping {
    String name() default "";
    // 指定请求路径的地址
    @AliasFor("path")
    String[] value() default {};
    // 指定请求路径的地址,其中path和value互为别名 @AliasFor是为了让被注解的能够互相使用别名而不冲突
    @AliasFor("value")
    String[] path() default {};
    // 指定请求的方式,是一个RequsetMethod数组,可以配置多个方法
    RequestMethod[] method() default {};
    // 指定参数的类型
    String[] params() default {};
    //指定的的请求头
    String[] headers() default {};
    // 指定数据请求的格式
    String[] consumes() default {};
    // 指定返回的内容类型
    String[] produces() default {};
}

实例

@RequestMapping(value = {"/demo","/demo1"}, method={RequestMethod.POST, RequestMethod.GET,RequestMethod.PUT,RequestMethod.PATCH,RequestMethod.DRLETE   }, consumes={"application/json"}, produces={"application/json"}, params={"name=mike","pwd=123456"},headers={"a=1"})

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 基于@RequestMapping 用法详解之地址映射

    目录 @RequestMapping之地址映射 引言: 简介: 1.value, method: 2.consumes,produces: 3. params,headers: 示例: 1.value / method 示例 2 consumes.produces 示例 3 params.headers 示例 @RequestMapping之地址映射 引言: 前段时间项目中用到了RESTful模式来开发程序,但是当用POST.PUT模式提交数据时,发现服务器端接受不到提交的数据(服务器端参数绑定

  • 亲测SpringBoot参数传递及@RequestBody注解---踩过的坑及解决

    目录 SpringBoot 参数传递及@RequestBody注解注意点 前台正确的js书写格式是 后台正确的Controller书写格式是 RequestBody 作为参数使用 为了证实这个想法,自己书写一个请求类 小结一下 SpringBoot 参数传递及@RequestBody注解注意点 前台正确的js书写格式是 //点击查询, 执行下面这个函数 $("#searchByCriteria").click(function () { //var paramdata = $(&quo

  • SpringBoot2.x实现给Controller的RequestMapping添加统一前缀

    目录 给Controller的RequestMapping添加统一前缀 总结一下 有几个方法 springboot项目添加全局前缀 spring的配置 spring boot的配置 给Controller的RequestMapping添加统一前缀 如何给Controller的RequestMapping添加统一前缀,比如"/api",为什么要添加统一访问前缀,其实是为了后面的接口的管理. 切记:约定与规范好过一切技术处理 ! 比如: 项目A必须所有访问接口URL必须增加 /api/pr

  • 聊聊@RequestMapping和@GetMapping @PostMapping的区别

    @RequestMapping和@GetMapping @PostMapping的区别 最近学习看一些代码,发现对于发送请求这件事,有的地方用@RequestMapping,有的地方用@PostMapping,为了搞清楚区别,特意查了下spring 源代码,现在特此记录下. @GetMapping用于将HTTP get请求映射到特定处理程序的方法注解 具体来说,@GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写.

  • springboot中@RequestMapping的用法

    目录 springboot@RequestMapping用法 1.value 2.method 3.headers 下面给大家介绍几个小技巧 springboot一些注释的详解(@RequestMapping) @RequestMapper的源码如下 实例 springboot @RequestMapping用法 @RequestMapping是一个非常常见的注解,他是一个用来处理地址映射请求的注解,可以用于方法或者类上进行以产生对应路径的. 如果用于类上,大多数是为了进行区分controlle

  • SpringBoot中的Thymeleaf用法

    Thymeleaf Thymeleaf是最近SpringBoot推荐支持的模板框架,官网在thymeleaf.org这里. 我们为什么要用Thymeleaf来作为模板引擎呢?官网给了我们一个非常令人信服的解释: Thymeleaf is a modern server-side Java template engine for both web and standalone environments.> 基本写法就像下面这样: <table> <thead> <tr&g

  • SpringMVC中@RequestMapping注解用法实例

    目录 1 修饰类和方法 2 value 3 method 4 params和headers 5 Ant路径 5 @PathVariable 6 HiddenHttpMethodFilter 7 @RequestParam 8 @RequestHeader 9 @CookieValue 总结 1 修饰类和方法 package site.exciter.springmvc.handlers; import org.springframework.stereotype.Controller; impo

  • springboot中filter的用法详解

    一.在spring的应用中我们存在两种过滤的用法,一种是拦截器.另外一种当然是过滤器.我们这里介绍过滤器在springboot的用法,在springmvc中的用法基本上一样,只是配置上面有点区别. 二.filter功能,它使用户可以改变一个 request和修改一个response. Filter 不是一个servlet,它不能产生一个response,它能够在一个request到达servlet之前预处理request,也可以在离开 servlet时处理response.换种说法,filter

  • 详解SpringBoot中@SessionAttributes的使用

    目录 简介 概述 代码 后端代码 前端代码 测试 简介 说明 本文介绍SpringBoot中@SessionAttributes的用法. 概述 在默认情况下,ModelMap中的属性作用域是request级别,也就是说,当本次请求结束后,ModelMap 中的属性将销毁.如果希望在多个请求中共享ModelMap中的属性,必须将其属性转存到session 中,这样 ModelMap 的属性才可以被跨请求访问. Spring 允许我们有选择地指定 ModelMap 中的哪些属性需要转存到 sessi

  • Shiro在springboot中快速实现方法

    目录 一.shiro使用必须了解的知识 1.shiro是什么? 2.shiro架构三个常用三大核心对象 3.在springboot中使用时,主要可将其看作两个模块(请求过滤模块.认证授权模块) 4.依赖 二.具体使用 1.编写配置类(config) 1.1.Shiro过滤对象(ShiroFilterFactoryBean) 1.2.Shiro安全对象(DefaultWebSecurity) 1.3.创建realm对象(自定义) 2.创建realm对象 2.1.自定义realm类去继承Author

  • 浅谈springboot中tk.mapper代码生成器的用法说明

    问:什么是tk.mapper? 答:这是一个通用的mapper框架,相当于把mybatis的常用数据库操作方法封装了一下,它实现了jpa的规范,简单的查询更新和插入操作都可以直接使用其自带的方法,无需写额外的代码. 而且它还有根据实体的不为空的字段插入和更新的方法,这个是非常好用的哈. 而且它的集成非常简单和方便,下面我来演示下使用它怎么自动生成代码. pom中引入依赖,这里引入tk.mybatis.mapper的版本依赖是因为在mapper-spring-boot-starter的新版本中没有

  • SpringBoot中ApplicationEvent和ApplicationListener用法小结

    目录 一.开发ApplicationEvent事件 二. 开发监听器 三.推送事件 四.注解方式实现监听器 对不起大家,昨天文章里的告别说早了,这个系列还不能就这么结束. 我们前面的文章中讲解过RabbitMQ的用法,所谓MQ就是一种发布订阅模式的消息模型.在Spring中其实本身也为我们提供了一种发布订阅模式的事件处理方式,就是ApplicationEvent和 ApplicationListener,这是一种基于观察者模式实现事件监听功能.也已帮助我们完成业务逻辑的解耦,提高程序的扩展性和可

  • SpringBoot中使用Thymeleaf模板详情

    目录 一.什么是Thymeleaf 二.SpringBoot中使用Thymeleaf模板 1.pom.xml中添加thymeleaf依赖 2.关闭thymeleaf缓存 3.创建thymeleaf模板页面 4.创建一个类(用于与上述html页面交互) 5.访问服务路径 一.什么是Thymeleaf 官网原话:Thymeleaf是适用于Web和独立环境的现代服务器端Java模板引擎,能够处理HTML,XML,JavaScript,CSS甚至纯文本. Thymeleaf的主要目标是提供一种优雅且高度

  • SpringBoot中注解@AliasFor的使用详解

    目录 简介 用法1:注解的属性互为别名 简介 实例 用法2.继承父注解的属性,不重写属性名 简介 代码 用法3:继承父注解的属性,并重写属性名 简介 代码 简介 本文用示例介绍@AliasFor(别名)注解的用法. 用法1:注解的属性互为别名 简介 它可以注解到自定义注解的两个属性上,表示这两个互为别名,也就是说这两个属性其实同一个含义. 其中一个属性名必须是"value" 无论指明设置哪个属性名设置属性值,另一个属性名也是同样属性值,也可以缺省属性名. 若两个都指明属性值,要求值必须

随机推荐