Spring请求参数和路径变量
客户端传递参数给服务端的两种方式:请求参数 和 路径变量
请求参数
请求参数可以发送值传递给服务器,请求参数采用key=value的形式并使用“&”符号进行参数间的分隔,例如:
http://localhost:8080/xxx/user?name=Tom&password=123456
传递过来的值Spring MVC需要解析,采用@RequestParam的形式来注释方法中的参数,获取上面两个参数的方法为:
@GetMapping("/name")
public User getUserByName(@RequestParam("id") Integer userId, @RequestParam("name") String username){}或者@GetMapping("/xxx/user")
public User getUser(HttpServletRequest request){Integer userId = Integer.decode(request.getParameter("id"));String username = request.getParameter("name");
}
路径变量
路径变量类似请求参数,但是没有key部分。由名称可知路径中存在变量,例如要传递一个age为23的参数到服务端,其请求的URL为:
http://localhost:8080/xxx/user/Tom/25;
服务端接受和处理的方法为:
@GetMapping("/name/{name}/{id}")
public User getUserByName(@PathVariable("name")String username, @PathVariable("id")Integer userId){}
参数写在路径上好,还是写在请求参数上好
在RESTful风格中,/user/{name} 和 /user/{id} 两个路径,它们的http-method是一样的,接收的都是String字符串。那么当客户端发送请求传递过来一个参数时,是给/user/{name}呢?还是给/user/{id}呢?
所以,在RESTful风格中,当两个路径的http-method一样时,那么路径就不要一样。比如可以将上面的/user/{name}改成/user/name/{name}
Spring请求参数和路径变量相关推荐
- SpringMVC请求参数和路径变量
目录 SpringMVC请求参数和路径变量 1.请求参数 2.路径变量 SpringMVC请求参数和路径变量 1.请求参数 1.请求参数是通过表单/URL?后面的参数,如xxxx:8080?name= ...
- 你真的懂请求参数和路径变量?
1.请求参数 1.请求参数是通过表单/URL?后面的参数, 如xxxx:8080?name=springmvc&age=6中的name和age就是请求参数 2.URL请求参数示例 请求地址-请 ...
- PostMan发送请求参数带有路径特殊字符会返回400错误(与URL字符及URL编码值有关)
目录 一.请求参数中携带URL字符返回400错误 二. 请求参数中携带URL字符返回400错误原因 三.URL字符及对应的URL编码值列表 四.请求参数中携带URL字符转成URL编码值 一.请求参数中 ...
- Spring请求参数和响应结果全局加密和解密(1)
阅读文本大概需要25分钟. 前提 前段时间在做一个对外的网关项目,涉及到加密和解密模块,这里详细分析解决方案和适用的场景.为了模拟真实的交互场景,先定制一下整个交互流程.第三方传输(包括请求和响应)数 ...
- http post请求 参数放在路径后面 java_「思唯网络学院」网络基本概念之HTTP协议...
HTTP基本概念 HTTP,全称为 HyperText Transfer Protocol,即为超文本传输协议.是互联网应用最为广泛的一种网络协议,所有的 www 文件都必须遵守这个标准. HTTP ...
- http post请求 参数放在路径后面 java_【思唯网络学院】网络基本概念之HTTP协议...
亲爱的,关注我吧 HTTP基本概念 HTTP,全称为 HyperText Transfer Protocol,即为超文本传输协议.是互联网应用最为广泛的一种网络协议,所有的 www 文件都必须遵守这个 ...
- Spring请求参数校验
SpringMVC支持的数据校验是JSR303的标准,通过在bean的属性上打上@NotNull.@Max等进行验证.JSR303提供有很多annotation接口,而SpringMVC对于这些验证是 ...
- springMVC接收请求参数的几种方式
1. 用注解@RequestParam绑定请求参数 用注解@RequestParam绑定请求参数a到变量a,当请求参数a不存在时会有异常发生,可以通过设置属性required=false解决,例如: ...
- Spring3 MVC请求参数获取的几种场景
访问/aaa/bbb所对应的@Controller @RequestMapping("/aaa")//类级别,可以不需要,如果要了,下面所有的请求路径前都需要加入/aaa publ ...
最新文章
- vim php psr2 插件,将vim打造成c++超级ide(vim插件安装)
- POW矿池挖空块原理和解决方案
- (转载)netstat -r查看路由表时Flags的含义
- Java Swing Button控件点击事件的几种写法
- 编写函数,模拟内置函数 sorted()。
- 扩展方法的定义及使用
- aix升级openssh_AIX5.3如何安装openssh | 学步园
- (包含重力矢量)Pygame粒子模拟
- 关于更改当前公司(一)--ChangeCompany
- Hbuilder:实现阴影透明背景特效
- Nr,GenBank, RefSeq, UniProt 数据库的异同
- Linux 第一次学习笔记
- ACL 2022 主会长文论文分类整理
- 云词:让英语学习平步青云
- aspectj tomcat load-time waver
- python练手程序之猜大小
- Huffman Tree
- Windows10 邮箱批量导入联系人
- LS文法构图算法(3) Hilbert-Peano曲线
- 如何在pdf文件中编辑页眉页脚
热门文章
- Linux的一些简单命令操作
- 【Unity】关于屏幕自适应的思路
- BNU44583——Star Trek: First Contact——————【01背包】
- 华为收购港湾核心业务 6年恩怨尘埃落定
- 在MySQL中当有多个索引时 你知道MySQL是如何选择索引的吗 ???
- Flutter Provider 异步通信、Provider状态管理
- java基础—Objcet中的equals方法重写
- sublime text 3配置Kotlin
- 洛谷 P3320: bzoj 3991: LOJ 2182: [SDOI2015]寻宝游戏
- excel导入sqlserver数据库大数据量,可每秒控制数量