首页 > 其他分享 >基本注解详解@RequestMapping,@GetMapping

基本注解详解@RequestMapping,@GetMapping

时间:2022-11-01 17:48:45浏览次数:85  
标签:RequestMapping 映射 value header 详解 GetMapping 属性 请求

基本注解详解@RequestMapping,@GetMapping

1. @RequestMapping注解

@RequestMapping注解是一个用来处理请求地址映射的注解,可用于映射一个请求或一个方法,可以用在类或方法上。

  1. @RequestMapping注解可以标注的位置

    • 标注在方法上

      用于方法上,表示在类的父路径下追加方法上注解中的地址将会访问到
      该方法

    • 标注在类和方法上

      用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。

  2. @RequestMapping的属性

1.1@RequestMapping的value属性

@RequestMapping 的 value 属性必须设值;
@RequestMapping 的 value 属性是通过当前请求的请求地址来匹配请求;
从上面的源码中可以看到value属性是一个字符串类型的数组,因此说明可以将多个请求映射到一个方法上,只需要给 value 来指定一个包含多个路径的数组。

设置value的属性的值

@Controller
public class RequestMappingController {

    @RequestMapping(value = {"/testRequest","/test"})
    public String testRequest(){
        return "success";
    }
}

1.2 @RequestMapping的method属性*

  • @RequestMapping的method属性是通过当前请求的请求方式来匹配请求;
  • 浏览器向服务器发送请求,请求方式有很多GET、HEAD、POST、PUT、PATCH、DELETE、OPTIONS、TRACE。可以使用 method 属性来约束请求方式。

设置请求方式为get:

@Controller
public class RequestMappingController {

    @RequestMapping(value = "/testRequest",method = RequestMethod.GET)
    public String testRequest(){
        return "success";
    }
}

如果以post方式请求

映射方法中明确要求请求方式为get,所以post方式不被允许,只有修改为get,才能够请求成功,如果要想两种方式都支持,只需在@RequestMapping注解的method属性中添加另一种方式即可,中间用英文逗号隔开。

扩展:

@GetMapping:处理get方式请求的映射

@PostMapping:处理post方式请求的映射

@PutMapping:处理put方式请求的映射

@DeleteMapping:处理delete方式请求的映射

@GetMapping就相当于@RequestMapping(method=RequestMethod.GET),它会将get映射到特定的方法上。

使用方式:@GetMapping(value="/testRequest")

1.3@RequestMapping的params属性

@RequestMapping的params属性是通过当前请求的请求参数来匹配请求;
@RequestMapping的params属性是一个字符串类型的数组,可以通过下面四种表达是来设置匹配关系

“param”:要求请求映射的请求必须为包含 param的请求参数
“!param”:要求请求映射的请求是不能包含param的请求参数
“param=value”:要求请求映射的请求必须包含 param 的请求参数,且 param 参数的值必须为 value
“param!=value”: 要求请求映射的请求是必须包含 param 的请求参数,其值不能为 value。

设置params的属性值为username:

@RequestMapping(value = "/test",params = "username")
    public String test(){
        return "success";
    }

注意:我们设置了params属性,就意味着该请求映射的请求必须包含username才能够请求成功。

当我们传入参数用http://localhost:8080/springmvc_study02/test?username路径来访问,我们来看看结果:

1.5 @RequestMapping的headers属性

@RequestMapping的headers属性是通过当前请求的请求头信息来匹配请求;
@RequestMapping的headers属性是一个字符串类型的数组,可以通过下面四种表达是来设置匹配关系

“header”:要求请求映射的请求必须为包含 header的请求头信息
“!header”:要求请求映射的请求必须为不包含 header的请求头信息
“header=value”:要求请求映射的请求必须为包含 header的请求头信息,并且header的值必须为value
“header!=value”:要求请求映射的请求必须为包含 header的请求头信息,并且header的值必须不是value

设置请求头信息:

@RequestMapping(value = "/test",headers = "Host = localhost:8081")
    public String test(){
        return "success";
    }

2.@GetMapping(Post,Put,Delect等一样)

Get请求-@GetMapping

@GetMapping("users") 等价于@RequestMapping(value="/users",method=RequestMethod.GET)

@GetMapping("/users")public ResponseEntity> getAllUsers(){return userRepository.findAll();}

标签:RequestMapping,映射,value,header,详解,GetMapping,属性,请求
From: https://www.cnblogs.com/atao-BigData/p/16848526.html

相关文章

  • 基本注解详解@Component,@RestController,@Autowired
    基本注解详解1.@Component注解的用法注解本质上就是一个类,开发中我们可以使用注解取代xml配置文件。@component是spring中的一个注解,它的作用就是实现bean的注入。在J......
  • nginx map 使用详解--转
    map指令介绍:map指令是由ngx_http_map_module模块提供的,默认情况下安装nginx都会安装该模块。map的主要作用是创建自定义变量,通过使用nginx的内置变量,去匹配某些特......
  • 直播平台软件开发,展示弹窗常见API详解
    直播平台软件开发,展示弹窗常见API详解showToast演示代码 wx.showToast({ title:"购买失败", icon:"error", duration:100, mask:true, success:(res)......
  • Android Toast详解
    一般的Toast我就不说了,我这里主要讲一下,自定义toast包括自定义内容和显示的位置现在Toast有了新情况,在安卓11,现在大家都用SnackBar   效果图 Toast代码priva......
  • find命令mtime,ctime,atime详解
    1、https://blog.csdn.net/Arlingtonroad/article/details/934664562、1.查找时间说明find./-name“*data*”-mtime+1当前目录下文件名包含data,而且修改时间在4......
  • 软件工程导论课程笔记与详解②
    第一章软件工程概述②(下)目录:1、软件工程介绍2、软件生命周期3、软件过程  1、软件工程的介绍①软件工程的来源:1968年,北约组织NATO召开计算机科学会议。......
  • 注解用法详解——@SuppressWarnings
    作为一名有强迫症的程序员最见不得的事情之一就是程序里有警告出现,还有一大困扰就是在eclipseIDE中,起码前面有警告时会无法加入断点。一般来讲大多数警告是代码不规范或安......
  • 【转】Android之Spinner下拉列表 使用详解
    原文网址:(56条消息)Android之Spinner使用详解_浪漫主义码农的博客-CSDN博客_androidspinnerSpinner(列表选择框)的基本使用当我们的app需要用户输入数据时,除了让用户自......
  • git checkout命令详解 git checkout feature/test123
    gitcheckout命令详解gitcheckoutfeature/test123//切换到feature/test123分支保证当前分支没有修改提交,否则回提示error:Yourlocalchangestothefollowing......
  • Kafka 架构和原理机制 (图文全面详解)
    目录一:Kafka简介二:Kafka基本架构三:Kafka基本原理四:Zookeeper在kafka的作用五:Kafka的特性六:Kafka的应用场景一:Kafka简介ApacheKafka是分布式发布......