springboot中@RequestMapping的用法
作者:若青儿2020
这篇文章主要介绍了springboot中@RequestMapping的用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
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"})
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。