首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在queryparam中使用'+‘的Jersey端点

在queryparam中使用'+‘的Jersey端点
EN

Stack Overflow用户
提问于 2017-08-09 03:41:16
回答 1查看 103关注 0票数 1

我想设计一个类似于

代码语言:javascript
代码运行次数:0
运行
复制
$host/api/products?price=under+5

如何在queryparam中使用'+‘?

我可以这样做来获得那个url。

代码语言:javascript
代码运行次数:0
运行
复制
@GET
@Path("/products?price=under+{price}")

但是我该如何使用@QueryParam呢?如果我使用下面的代码,

代码语言:javascript
代码运行次数:0
运行
复制
@GET
@Path("/products")
@UnitOfWork
public Response getProducts(@NotNull @QueryParam("price") String price) {

我得到了

代码语言:javascript
代码运行次数:0
运行
复制
$host/api/products?price=5
EN

回答 1

Stack Overflow用户

发布于 2017-08-09 07:20:05

price查询参数的值必须是URL编码的。对URL进行编码后,+字符变为%2B。这样你就有了under%2B5

有了它,下面的代码应该可以很好地工作:

代码语言:javascript
代码运行次数:0
运行
复制
@GET
@Path("/products")
public Response getProducts(@NotNull @QueryParam("price") String price) {
    // the value of price will be: under+5
    ...
}

如果不希望JAX-RS运行时对price参数进行解码,可以使用@Encoded对其进行注释。

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

https://stackoverflow.com/questions/45576806

复制
相关文章

相似问题

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