首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这是UriBuilder的预期行为吗?

这是UriBuilder的预期行为吗?
EN

Stack Overflow用户
提问于 2012-01-27 12:33:37
回答 2查看 4.2K关注 0票数 4

这就是我正在做的(JAX-RS 1.0,Jersey 1.11):

代码语言:javascript
复制
import javax.ws.rs.core.UriBuilder;
System.out.println(UriBuilder.fromPath("/").queryParam("x", "%40").build());
System.out.println(UriBuilder.fromPath("/").queryParam("x", "100%").build());

期望值:

代码语言:javascript
复制
/?x=%2540
/?x=100%25

但实际输出是:

代码语言:javascript
复制
/?x=%40
/?x=100%25

怎么一回事?如果这是UriBuilder的行为方式,那么解决方法是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-28 09:01:42

我很惊讶,但它是这样工作的:

代码语言:javascript
复制
UriBuilder.fromUri("/").queryParam("x", "{value}").build(/* any text */);
票数 2
EN

Stack Overflow用户

发布于 2012-01-27 16:24:18

问题可能是有一种额外的方法可以从编码的字符串中构建URI:

来自Javadocs: build():“字符串化的值中的所有'%‘字符都将被编码。构建器的状态不受影响”

buildFromEncoded():“字符串化的值中不跟两个十六进制数字的所有%字符都将被编码。”

URIBuilder.buildFromEncoded()http://jsr311.java.net/nonav/javadoc/javax/ws/rs/core/UriBuilder.html#buildFromEncoded%28java.lang.Object...%29

希望这能有所帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9029020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档