我有以下球衣方法:
@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());
...
}
在rest客户端我发送以下数据:
在控制台中我看到了
空 0
我错了什么?
答案 0 :(得分:4)
您正在从查询字符串中读取参数,其形式为:
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());
...
}