泽西编码的字符串为@pathParam资源未传递

时间:2016-07-07 18:46:59

标签: java jersey-2.0

我有一个定义的资源:

@Path("/customer/{customerId}")
@Consumes(MediaType.APPLICATION_JSON)
public Response getLocationsByAccount( @QueryParam("page") Integer page,
                                      @QueryParam("per_page") Integer pageSize,,@PathParam(value = "customerId") String customerId);

当我想要做的时候:

 curl 'http://localhost:8080/path/customer/1?page=1%26per_page=100'
一切正常。

现在我想将customerID作为编码值,意思是:

curl 'http://localhost:8080/path/customer/jgLiFuOi%2F0dTMbssRcfNvQ%3D%3D?page=1&per_page=22'

我找不到资源。

我做错了什么。

1 个答案:

答案 0 :(得分:0)

这适用于Glassfish:

@Path("path")
public class Resource {
  @GET
  @Path("/customer/{customerId}")
  public String getLocationsByAccount(@QueryParam("page") Integer page,
        @QueryParam("per_page") Integer pageSize,
        @PathParam(value = "customerId") String customerId) {
    return customerId;
  }
}

请求:

curl --noproxy localhost, "http://localhost:8080/path/customer/jgLiFuOi%2F0dTMbssRcfNvQ%3D%3D?page=1&per_page=22"

响应:

jgLiFuOi/0dTMbssRcfNvQ==

所以看起来你做错了什么。