java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > springboot @RequestMapping

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"})

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

您可能感兴趣的文章:
阅读全文