在RestController中获取各种信息的方法
| 内容 | 获取方法 |
|---|---|
| URL中路径的一部分 | 首先需要在RequestMapping做映射, 之后在方法中可以通过注解使用映射的变量 @GetMapping("/{id}") public Student getStudent(@PathVariable("id") int id {} 可以写多个) |
| POST方法传递过来的Json | 给参数前加个@RequestBody注解, Spring会自动把POST的Request Body部分的Json转成方法声明的类。如果转化失败会返回4xx错误,表示请求参数有问题。 public Student updateOne(@RequestBody Student student) |
| POST方法传递的是表单数据 | 首先需要声明传入的是application/x-www-form-urlencoded的格式,可在RequestMapping增加consumes参数: @PostMapping(value="/students",consumes=MediaType.APPLICATION_FORM_URLECODED_VALUE) 在方法上增加参数,参数使用@RequestParam注解即可 public Object insert(@RequestParam(value="name", required=false) String name) 凡是可以通过HTTPServletRequest.getParameter(String)方法取到的值,包含表单提交的、QueryString附带的,都可以使用@RequestParam注解得到 默认request=true |
| QueryString的参数 | 使用@RequestParam注解, 通过参数获得, 例: public Object query(@RequestParam(value="page", required=false)int page) |
| Request Header | 可以使用@RequestHeader注解获取Request的头信息, 例: public ResultJson editCompany(@RequestHeader("user-agent") String userAgent) 注意: @RequestHeader后面的头名字不区分大小写, 但@RequestParam, @PathVariable等是区分大小写的。 如果RequestHeader后面不写参数, 会用后面的变量名替代。 |
| 获取cookie值 | 使用@CookieValue注解,和其他类似,除非为了兼容老现有客户端,新API里不建议使用cookie。 |
| 获取当前的Request & Response | 直接写参数, 例 public Object doSomething(HttpServletRequest request, HttpServletResponse response) |
| 获取当前用户 | 直接在方法上增加参数类型, 类型为: org.springframework.security.core.Authentication, 例: public Student deleteStudent(Authentication auth)参数auth内会储存当前用户信息。 |
| 文件上传 | 首先要设置consumes为multipart/form-data @PostMapping(value = "/files", consumes=MediaType.MULTIPART_FORM_DATA_VALUE) 在方法中写参数: public Map<String, Object> uploadFile(@RequestParam("file")MultipartFile file) 在方法中就可以直接使用MultipartFile中的流保存文件了。 |
以上整理自网易云课堂的葛香东老师所授的课程
在RestController中获取各种信息的方法的更多相关文章
- jsp中获取路径信息的方法
今天在看代码时,发现程序使用了 request.getScheme() .不明白是什么意思,查了一下.结果整理如下: 1.request.getScheme() 返回当前链接使用的协议:一般应用返回h ...
- 从BIRT报表文件中获取页面设置信息(页边距、纸张大小、输出方向)的方法
从BIRT报表文件中获取页面设置信息(页边距.纸张大小.输出方向)的方法 报表打印时,尤其是套打的报表,页面设置信息非常重要,比如页边距,纸张大小,输出方向等,而且每个报表的相关参数有可能不同 ...
- PowerShell_零基础自学课程_6_PS中获取帮助信息详解、管道、格式化输
前些文章陆续的说了一些关于这些主题,但是讨论的都不够深入,今天我们深入的了解一下获取帮助信息.管道以及格式化输出的内容. 一.获取帮助信息 在PS中获取帮助信息,最常用的有: -? .get-comm ...
- PHP版微信第三方实现一键登录及获取用户信息的方法
本文实例讲述了PHP版微信第三方实现一键登录及获取用户信息的方法.分享给大家供大家参考,具体如下: 注意,要使用微信在第三方网页登录是需要“服务号”才可以哦,所以必须到官方申请. 一开始你需要进入微信 ...
- 【Java/JDBC】利用ResultSetMetaData从数据库的某表中获取字段信息并存到csv文件
代码下载:https://files.cnblogs.com/files/xiandedanteng/FindNotnullColumns20191102-2.rar 这篇还不够完善,请看更完善的续篇 ...
- android中获取root权限的方法以及原理(转)
一. 概述 本文介绍了android中获取root权限的方法以及原理,让大家对android 玩家中常说的“越狱”有一个更深层次的认识. 二. Root 的介绍 1. Root 的目的 可以让我们拥有 ...
- dede织梦栏目页和文章页中获取当前栏目名称方法
一般情况下,在dede织梦系统中列表页.栏目页和文章页中获取当前所在栏目名称只需要代码:{dede:type}[field:typename]{/dede:type}即可,不需要定义ID,默认的就是当 ...
- Android开发过程中在sh,py,mk文件中添加log信息的方法
Android开发过程中在sh,py,mk文件中添加log信息的方法 在sh文件中: echo "this is a log info" + $info 在py文件中: print ...
- Android中获取文件路径的方法总结及对照
最近在写文件存贮,Android中获取文件路径的方法比较多,所以自己也很混乱.找了好几篇博客,发现了以下的路径归纳,记录一下,以备不时之需 Environment.getDataDirectory() ...
随机推荐
- BZOJ4241历史研究题解--回滚莫队
题目链接 https://www.lydsy.com/JudgeOnline/problem.php?id=4241 分析 这题就是求区间权值乘以权值出现次数的最大值,一看莫队法块可搞,但仔细想想,莫 ...
- O056、Extend Volume 操作
参考https://www.cnblogs.com/CloudMan6/p/5645305.html 今天学习如何扩大volume的容量,为了保护现有的数据,cinder不允许缩小volume. ...
- sql 批量触发器
SET QUOTED_IDENTIFIER ON SET ANSI_NULLS ON GO ALTER TRIGGER [dbo].[tr_insert_update_delete_sscode] O ...
- Win7系统开机速度慢怎么解决?
Win7系统使用时间长了,我们就会发现电脑的开机启动速度变慢了,其实除了关闭相应的启动项之外,我们还可以对电脑进行相关的系统配置,来使电脑能够更加快速的启动.下面好系统重装助手就来告诉你怎么解决Win ...
- NORDIC 修改MTU
https://www.cnblogs.com/jiangjiu/p/10063556.html 注意要修改RAM起始地址,因为MTU增大了
- Hadoop_06_Hadoop的HDFS的概念和特性
1.HDFS的概念和特性 1.1. 首先,它是一个文件系统,用于存储文件,通过统一的命名空间——目录树来定位文件 1.2. 它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色:重 ...
- facenet中pairs文件制作
1.对图片进行重命名 """Rename the image based on the folder name""" import os i ...
- Java高级技术点面试问题-IO相关面试问题
java网络编译: 基础知识:①.ip地址和端口号:ip地址是用来识别网络中的一个实体,而这个实体可以理解为一个主机,而端口号则是用来区分具体的通讯程序的.②.tcp / udp协议:tcp是一个可靠 ...
- hashmap C++实现分析及std::unordered_map拓展
今天想到哈希函数,好像解决冲突的只了解了一种链地址法而且也很模糊,就查了些资料复习一下 1.哈希Hash 就是把任意长度的输入,通过哈希算法,变换成固定长度的输出(通常是整型),该输出就是哈希值. 这 ...
- PAM安全认证模块