UriComponentsBuilder和UriComponents,uri编码拼接工具

简介
spring mvc提供了一种机制,可以构造和编码URI,即使用UriComponentsBuilder和UriComponents。功能相当于uelencode()函数,对url进行编码(比如请求中含有空格时编码为%20),同时支持变量替换。
需引入spring-web依赖。
示例
最简单粗暴:

UriComponents uriComponents=UriComponentsBuilder
        .fromHttpUrl("http://localhost:8080//hello")
        .queryParams(params).build() //params是个Map
String uri=uriComponents.toUriString();

expand(): 替换参数。
encode(): 编码,默认使用utf-8。

UriComponents uriComponents = UriComponentsBuilder
.fromUriString("http://example.com/hotels/{hotel}/bookings/{booking}").build();
URI uri = uriComponents.expand("42", "21").encode().toUri();

注意:UriComponents是不可变的,expand()和encode()返回新的实例。
上述例子也可以这样实现:

UriComponents uriComponents = UriComponentsBuilder.newInstance()
  .scheme("http").host("example.com").path("/hotels/{hotel}/bookings/{booking}").build()
  .expand("42", "21")
  .encode();

参考文章
代码示例:ideaProjects/shiro-chapter20/test/ClientTest

原文链接:https://blog.csdn.net/jiachunchun/article/details/90235578

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值