有没有办法在REST中接受带有Ampersand的QueryParam

时间:2013-11-22 19:20:50

标签: java rest

所以,我有一个可能有一个&符号的QueryParam,有没有什么办法可以覆盖REST在解析URL时让它接受&符号的默认行为?功能标题是:

@GET
@PATH("/{id}/")
@Produces(MediaType.APPLICATION_JSON)
public Response getCoverage(
    @PathParam(COVERAGE_ID_DEFAULT_VALUE) String id,
    @QueryParam(PROFILE_PARAM_VALUE) List <string> profiles)

我想知道是否有任何方法可以让它成为配置文件可以包含一个包含符号的字符串。

我想我应该澄清一点,当我让用户输入他们的URL栏时,我不确定如何对参数进行编码。

http://whatever.com/3/?ParamInQuestion=Matt&Jay

我不知道在代码中我可以截取URL以清除&符号。

2 个答案:

答案 0 :(得分:1)

您只需要确保&符号已正确编码。每个请求参数都应系统化。

例如,请参阅<c:url><c:param> JSP标记以及URLEncoder类。

答案 1 :(得分:0)

只要对这些参数进行了适当的转义,您就可以在查询参数中找到所需的任何内容。有关详细信息,请参阅URLEncoder

我相信JAX RS或您使用的任何内容都应自动解码该值,以便您的案例中的getCoverage方法将接收解码值。

或者您的问题实际上是关于传递多个值,因此您将获得值列表?