在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)

大家都在看

  • C++类型转换

    static_cast 相近类型之间的类型 reinterpret_cast 不相近类型之间的类型 const_cast 去掉对象const属性的转换 dynamic_cast 规…

    Linux 2023年6月13日
    088
  • 网心云在PVE下三种磁盘IO模式(No cache,Write through,Write back)选择与优化指南

    最近在用网心云跑PCDN业务,由于是架在PVE环境上的,因此如何对磁盘IO进行优化就成了最大的问题… 1,开启虚拟机IO thread,有效降低CPU负载 2,强制CP…

    Linux 2023年5月27日
    0235
  • 回顾乐信集团工作经历

    2019年入职乐信用户增长部门,负责开发开放平台的需求和合作方技术支持。乐信金融开放平台提供了金融业务API以及配套SDK等组件,为合作商户的产品赋予分期支付和小额贷款能力,子系统…

    Linux 2023年6月6日
    090
  • 018.CentOS升级内核

    作者:木二 出处:http://www.cnblogs.com/itzgr/ 关于作者:云计算、虚拟化,Linux,多多交流! 本文版权归作者所有,欢迎转载,但未经作者同意必须保留…

    Linux 2023年6月13日
    0103
  • Redis阻塞操作实现原理(转)

    原文:https://www.jianshu.com/p/xsMzfn 作者:Haiger 最近一位朋友问到:既然Redis是单线程的工作模式,那像 _BLPOP_这样的阻塞操作又…

    Linux 2023年5月28日
    089
  • 微信开发之微信分享 + php

    html DOCTYPE html> <html> <head> <meta http-equiv="content-type&quo…

    Linux 2023年6月7日
    098
  • UE4在Windows下交叉编译打包Linux版本

    UE4在Windows下交叉编译打包Linux版本 我使用的是UE4.27.2,Windows 11,项目是一个 纯蓝图项目,所以打包过程没有什么阻碍。 首先上官网下载对应版本的工…

    Linux 2023年6月6日
    093
  • Docker镜像管理基础

    Docker镜像管理基础 1、镜像的概念 镜像可以理解为应用程序的集装箱,而docker用来装卸集装箱。 docker镜像含有启动容器所需要的文件系统及其内容,因此,其用于创建并启…

    Linux 2023年6月7日
    0108
  • 数据结构001–数据结构概述

    数据结构概述: 程序 = 数据结构 + 算法 算法:一些计算方法,解决问题的流程/步骤(顺序、分支、循环……),通俗的说,算法相当于逻辑,小部分已经被人们发…

    Linux 2023年6月6日
    061
  • 学习

    1.1、参考博客 参考的教程如下: Original: https://www.cnblogs.com/agui125/p/16032402.htmlAuthor: 风御之举Tit…

    Linux 2023年6月13日
    093
  • 使用MyBatis Generator代码生成器的简单模式

    在动态web项目的lib目录下放入mybatis-3.2.2jar、mysql-connector-java-5.1.25-bin.jar、log4j-1.2.17.jar还有生成…

    Linux 2023年6月8日
    0108
  • podman的基本用法

    podman的基本设置和使用 运行示例容器 列出正在运行的容器 检查正在运行的容器 测试 httpd 服务器 查看容器的日志 查看容器的 pid 检查点容器 恢复容器 迁移容器 停…

    Linux 2023年6月13日
    075
  • 【填坑】树莓派4B上运行Bullseye版本系统,不能登录xrdp的问题~~

    以前使用 buster,安装xrdp后 pi用户xrdp登录正常,可自从使用了 bullseye系统,pi登录xrdp后,出现黑屏不能登录现象。 网上搜寻解决方案,一种方法是: 找…

    Linux 2023年6月7日
    085
  • Supervisor进程管理

    Supervisor 介绍 Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它…

    Linux 2023年6月8日
    0110
  • nginx-openresty通过location调用显示upstream信息

    背景 有时候查看nginx的upstream配置得知配置后端的ip地址和端口,但从日志里面发现提示后端不存在,想知道nginx的内存里面是否存在upstream的加载信息,判断后端…

    Linux 2023年6月6日
    0117
  • 对象缓存服务的思考和实现

    写在前面 目前在很多业务中,存储都大量的依赖了云存储,比如阿里云的 oss、华为云的 obs 等。但是如果有大量的上传/下载任务,云存储上的网络 I/0 就变成了一个很大的瓶颈。 …

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