球衣。为什么参数不传?
jersey. why doesn't parameter pass?
我有以下球衣方法:
@POST
@Path("path")
@Produces({MediaType.APPLICATION_JSON})
public Response isSellableOnline(@QueryParam("productCodes") final List<String> productCodes,
@QueryParam("storeName") final String storeName,
@Context HttpServletRequest request) {
System.out.println(storeName);
System.out.println(productCodes.size());
...
}
在休息客户端我发送以下数据:
在控制台中我看到了
null
0
我做错了什么?
您正在从查询字符串中读取参数,其格式为:
http://yourserver/your/service?param1=foo¶m2=bar
^ start of query string
但是您将参数作为表单的一部分发送。
更改您在服务中使用参数的方式:
@POST
@Path("path")
@Produces({MediaType.APPLICATION_JSON})
public Response isSellableOnline(@FormParam("productCodes") final List<String> productCodes,
@FormParam("storeName") final String storeName,
@Context HttpServletRequest request) {
System.out.println(storeName);
System.out.println(productCodes.size());
...
}
我有以下球衣方法:
@POST
@Path("path")
@Produces({MediaType.APPLICATION_JSON})
public Response isSellableOnline(@QueryParam("productCodes") final List<String> productCodes,
@QueryParam("storeName") final String storeName,
@Context HttpServletRequest request) {
System.out.println(storeName);
System.out.println(productCodes.size());
...
}
在休息客户端我发送以下数据:
在控制台中我看到了
null 0
我做错了什么?
您正在从查询字符串中读取参数,其格式为:
http://yourserver/your/service?param1=foo¶m2=bar
^ start of query string
但是您将参数作为表单的一部分发送。
更改您在服务中使用参数的方式:
@POST
@Path("path")
@Produces({MediaType.APPLICATION_JSON})
public Response isSellableOnline(@FormParam("productCodes") final List<String> productCodes,
@FormParam("storeName") final String storeName,
@Context HttpServletRequest request) {
System.out.println(storeName);
System.out.println(productCodes.size());
...
}