在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() ...
随机推荐
- Oracle数据库中的变量
Oracle数据库中的变量 来源:https://blog.csdn.net/wahaa591/article/details/46772769 1.define(即host变量) define va ...
- MFC之CImageList(1)
CImageList BOOL Create( int cx, int cy, UINT nFlags, int nInitial, int nGrow ); 其中各项参数的含义为:cx定义图像的宽度 ...
- C语言无法使用引用,一定要使用怎么办? ------指针的指针做参数
#include <stdio.h> #include <stdlib.h> #include <string.h> void fun1(char** s); vo ...
- python检测域名
pip install python-whois import whois print(whois.whois('baidu.com')) #输出有关baidu.com的所有域名
- kubernetes资源清单之Deployment
Deployment为Pod和ReplicaSets提供声明性更新 示例 --- apiVersion: apps/v1 kind: Deployment metadata: name: de ...
- (备忘)Nginx中文手册(技术指南第二版)
Nginx 常见应用技术指南[Nginx Tips] 第二版 目 录 一. Nginx 基础知识二. Nginx 安装及调试三. Nginx Rewrite四. Nginx Redirect五. Ng ...
- ubantu32位 linux下hexedit的下载安装
Hexedit软件介绍: hexedit是一个开源的完全免费的命令行软件,可用于在任何GNU / Linux操作系统下以十六进制和ASCII(美国信息交换标准代码)格式查看和编辑文件. 下载: 在so ...
- 【转载】softmax的log似然代价函数(求导过程)
全文转载自:softmax的log似然代价函数(公式求导) 在人工神经网络(ANN)中,Softmax通常被用作输出层的激活函数.这不仅是因为它的效果好,而且因为它使得ANN的输出值更易于理解.同时, ...
- PAT乙级1025
题目链接 https://pintia.cn/problem-sets/994805260223102976/problems/994805296180871168 题解 第一遍没有全部AC,最后1个 ...
- 转 shell中的多进程【并发】
原文地址https://bbs.51cto.com/thread-1104907-1-1.html 根据我个人的理解, 所谓的多进程 只不过是将多个任务放到后台执行而已,很多人都用到过,所以现在讲的主 ...