我使用Jersey的链接标题功能来创建HTTP链接标题:
@InjectLink(value="users/?orgId=12345&page=0",rel="first")
除问号外,效果很好 - 这是在%3F中编码的,结果URL如下所示:
http://localhost:8080/app/users/%3ForgId=12345&page=0
我有什么方法可以阻止编码并保留问号char吗?
答案 0 :(得分:1)
@InjectLink(value)
不适用。 URL参数构建应由@InjectLink(method, bindings...)
使用。
例如:
@InjectLink(
resource = UserResource.class,
method ="getUserById",
bindings ={@Binding(name = "orgId", value = "${instance.orgId}")},
style = Style.ABSOLUTE,
... )
定位泽西资源 UserResource.java :
@Path("users/{orgId}")
public User getUserById(@PathParam("orgId") String orgId) {...}
答案 1 :(得分:0)
问题mar是为查询参数字符串编码的url,因此在您的路径中使用%3是正常的。尝试使用“绑定”或放置@Queryparams,如How to force URIBuilder.path(...) to encode parameters like "%AD"? This method doesn't always encode parameters with percentage, correctly