Java Restygwt:格式错误的URI序列
我在resygwt上提供了基于REST的服务,API如下:Java Restygwt:格式错误的URI序列,java,encode,resty-gwt,Java,Encode,Resty Gwt,我在resygwt上提供了基于REST的服务,API如下: @Path("/search") @GET List<User> search(@QueryParam("login") String loginMask) throws RemoteException; 这很奇怪,因为在JavaDoc中提到,默认情况下应该支持这样的请求: 将HTTP查询参数的值绑定到资源方法参数 资源类字段或资源类bean属性 值是URL解码的,除非使用{@link Encoded}禁用此功能 注释。
@Path("/search")
@GET
List<User> search(@QueryParam("login") String loginMask) throws RemoteException;
这很奇怪,因为在JavaDoc中提到,默认情况下应该支持这样的请求:
- 将HTTP查询参数的值绑定到资源方法参数
- 资源类字段或资源类bean属性
- 值是URL解码的,除非使用{@link Encoded}禁用此功能
- 注释。可以使用{@link DefaultValue}指定默认值
- 注释
感谢您提供的任何建议。如果您想解码该值,您可以创建一个
ContainerResponseFilter
,在ResourceConfig
中注册它,然后执行以下操作
String loginValue= queryParams.get("login");
loginValue= URLDecoder.decode(loginValue, "UTF-8");
默认情况下,RestyGWT可能正在对所有参数进行编码
需要在restyGWT google讨论中提问:您的问题真的与restyGWT有关吗?据我所知,问题更多的是tomcat在解码查询参数值方面的问题。您希望resty不编码查询参数,还是希望后端解码查询参数?
String loginValue= queryParams.get("login");
loginValue= URLDecoder.decode(loginValue, "UTF-8");