在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

以上整理自网易云课堂的葛香东老师所授的课程

Original: https://www.cnblogs.com/zilongmao/p/10264995.html
Author: 无尽函数
Title: 在RestController中获取各种信息的方法

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/610929/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 这个世界上只有一种真正的英雄主义,那就是认清生活的真相并且仍然热爱它

    人生当中成功只是一时的,失败却是主旋律。但是如何面对失败,却把人分成了不同的样子。有的人会被失败击垮,有的人能够不断地爬起来继续向前。澳大利亚队是如此的,西班牙队也是如此。我想真正…

    Linux 2023年6月14日
    0139
  • Django基础学习笔记

    创建一个django项目:命令: django-admin startproject 项目名 进入到项目并创建一个应用:命令: python manage.py startapp …

    Linux 2023年6月6日
    092
  • python练习题:利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法

    方法一: 方法二: (此方法会有一个问题,当字符串仅仅是一个空格时’ ‘,会返回return s[1:0];虽然不会报错,但是会比较奇怪。测试了下,当s=&…

    Linux 2023年6月8日
    0111
  • 关于在Rocky linux下安装dotnet sdk不成功的问题

    Rocky Linux 9,运行 dnf install -y dotnet-sdk-6.0 一切正常,运行起来非常顺利,安装完毕。但是非常诡异,运行 dotnet –list-…

    Linux 2023年6月6日
    0123
  • [转帖]shell 学习之for语句

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年5月28日
    098
  • MS17-010复现

    一、环境准备 功击方:kali (192.168.43.132) 目标机:win7(192.168.43.134) win7打开smb服务 漏洞的产生: Sbm服务 445端口 二…

    Linux 2023年6月7日
    076
  • kali linux安装后乱码的解决方法

    操作系统是5.3 解决方法是在终端执行命令: Original: https://www.cnblogs.com/wangpingcong/p/12641912.htmlAutho…

    Linux 2023年6月7日
    096
  • Python实现经典算法八皇后问题

    递归回溯解八皇后问题 遗传算法解八皇后问题 在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问一共有多少种摆法。 分别用递…

    Linux 2023年6月7日
    0131
  • go-结构体内存布局

    方式一:通过 var 声明结构体 在 Go 语言中当一个变量被声明的时候,系统会自动初始化它的默认值,比如 int 被初始化为 0,指针为 nil。 var 声明同样也会为结构体类…

    Linux 2023年6月13日
    0103
  • rocksdb列族笔记

    1、简介 列族(Column Families)是rocksdb3.0提出的一个机制,用于对同一个数据库的记录(键值对)进行逻辑划分。默认情况下所有的记录都会存储在一个默认列族里(…

    Linux 2023年6月7日
    0110
  • 多线程/哈希slot/集群

    io多线程 以前的redis是单线程模型,其实就是多路复用机制,知道多路复用的来一波6,我们在架构师课程中讲过,那么netty也有,看过老师相关课程的也应该知道。这里不多说了。 R…

    Linux 2023年5月28日
    0103
  • Linux at命令详解

    大家好,我是良许。 在生活中,我们有太多的场景需要使用闹钟,比如早上7点起床,下午4点开会,晚上8点购物,等等。 [En] In life, we have too many sc…

    Linux 2023年5月27日
    0111
  • http代理连接

    基于Linux服务器的http代理连接 1. 准备工作 目标服务器 &…

    Linux 2023年6月14日
    081
  • Linux查看运行着的Java Spring boot api程序命令

    阅文时长 | 0.03分钟字数统计 | 56.8字符主要内容 | 1、引言&背景 2、声明与参考资料『Linux查看运行着的Java Spring boot api程序命令…

    Linux 2023年5月27日
    0123
  • 学习一下 JVM (一) — 了解一下 JVM 基本概念

    一、JVM 基本认识 1、虚拟机 与 JVM (1)虚拟机(Virtual Machine),可以理解为一台虚拟的计算机,其是一款软件,用来执行一系列虚拟的计算机指令。可以分为:系…

    Linux 2023年6月11日
    0109
  • 软件工程 统一过程软件(RUP) 第5篇随笔

    1.RUP简介 本质: 是”一般的过程框架” 为软件开发,进行不同抽象层之间”映射”,安排其开发活动的次序,指定任务和需要开发的志平…

    Linux 2023年6月7日
    0125
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球