UriComponentsBuilder和UriComponents url编码
2024-09-11 04:29:03
Spring MVC 提供了一种机制,可以构造和编码URI -- 使用UriComponentsBuilder和UriComponents。
功能相当于 urlencode()函数,对url进行编码, 但同时还支持变量替换
UriComponents uriComponents = UriComponentsBuilder.fromUriString(
"http://example.com/hotels/{hotel}/bookings/{booking}").build(); URI uri = uriComponents.expand("42", "21").encode().toUri();
嗯,expand()是用于替换所有的模板变量,encode默认使用UTF8编码。
注意,UriComponents是不可变的,expand()和encode()都是返回新的实例。
你还可以这样做:
UriComponents uriComponents = UriComponentsBuilder.newInstance()
.scheme("http").host("example.com").path("/hotels/{hotel}/bookings/{booking}").build()
.expand("42", "21")
.encode();
在Servlet环境中,使用子类ServletUriComponentsBuilder提供的静态工厂方法可以从一个Servlet request中获取有用的URI信息:
HttpServletRequest request = ... // Re-use host, scheme, port, path and query string
// Replace the "accountId" query param ServletUriComponentsBuilder ucb = ServletUriComponentsBuilder.fromRequest(request)
.replaceQueryParam("accountId", "{id}").build()
.expand("123")
.encode();
https://www.cnblogs.com/larryzeal/p/6131664.html
最新文章
- Object obj=new Object()的内存引用
- 无废话ExtJs 入门教程十九[API的使用]
- angularJS的$watch和$apply
- VS2010/MFC编程入门之三(VS2010应用程序工程中文件的组成结构)
- 【解题报告】[动态规划] CodingTrip - 携程编程大赛 (预赛第一场)- 聪明的猴子
- MS 数据库存储过程加密解密
- MySQL高可用之MHA的搭建 转
- 架构设计:负载均衡层设计方案(5)——LVS单节点安装
- CentOS 6.5 下载地址
- 织梦DEDECMS网站首页如何实现分页翻页
- Unity学习笔记(二)——第一个Unity项目Hello Unity
- 使用PHPMailer发送带附件并支持HTML内容的邮件
- 如何在 FineUIMvc 中引用第三方 JavaScript 库
- WPF中实现类智能感知
- TCP连接建立系列 — 客户端接收SYNACK和发送ACK
- window.print()小知识
- vs2013安装及opencv3.0的配置
- php首字母 大写 数组去重复
- Spring.Net---4、IoC/DI注入方式
- 《网蜂A8实战演练》——8.Linux USB 主机控制器和设备驱动
热门文章
- 09.Curator临时节点
- 170616、解决 java.lang.IllegalArgumentException: No converter found for return value of type: class java.util.ArrayList
- JQueryUI之Autocomplete
- Apache配置虚拟主机httpd-vhosts.conf
- Python的Flask框架应用调用Redis队列数据的方法
- centos shell基础 alias 变量单引号 双引号 history 错误重定向 2>;&;1 jobs 环境变量 .bash_history source配置文件 nohup &; 后台运行 cut,sort,wc ,uniq ,tee ,tr ,split, paste cat>; 2.txt <;<;EOF 通配符 glob模式 发邮件命令mail 2015-4-8 第十二节课
- 201-React顶级API
- Linux下编译安装PHP扩展redis
- Flume+Morphlines实现数据的实时ETL
- PAT 1139 First Contact[难][模拟]