我有接收一组的路径中的参数,pathparameters一个JAX-RS的服务。 这些参数可以是含有不适合的URL值的字符串,所以它们在使用java.net.URLEncoder中,像这样的客户端进行了urlencoded:
String param = URLEncoder.encode(o.toString(), "UTF-8");
这是用来构建URL supplier/group/param1/param2/param3
。 如果其中一个是由于改变的URL编码,例如,如果它只是一个空间,在服务接收到的字符串是+
迹象。
@GET
@Path("{supplierId}/{groupCode}/{groupId}")
@Produces({MediaType.APPLICATION_XML, MediaType.TEXT_XML})
public SupplierGroup getSupplierGroup(@PathParam("supplierId") BigDecimal supplierId,
@PathParam("groupCode") String groupCode,
@PathParam("groupId") BigDecimal groupId) {
//now groupCode is "+", not " "
}
我希望JAXRS自动解码编码路径参数。
编辑:测试多一点我发现,使用时发送%20
的空间,它能够帕拉姆解码。