Appengine端点interprits List <long>参数不正确

时间:2016-02-22 03:01:42

标签: java google-app-engine google-cloud-endpoints

我有一个接受List<Long>参数的GAE端点方法。

@ApiMethod(name = "getBills")
public List<EndpointBill> getBills(@Named("emailAddress") String emailAddress, @Named("billIds") List<Long> billIds) {
}

我从下面的Android应用程序调用上面的端点方法(在生成的客户端lib的帮助下)。

List<Long> billsToFetch = new ArrayList<>();
//Populate billsToFetch
EndpointBillCollection endpointBillCollection = myEndpoint.getBills("test@test.com", billsToFetch).execute();

但是,如果billsToFetch列表包含多个元素,端点会抛出异常。

{
  "code": 400,
  "errors": [
    {
      "domain": "global",
      "location": "billIds[0]",
      "locationType": "parameter",
      "message": "Invalid long value: '1,2'.",
      "reason": "invalidParameter"
    }
  ],
  "message": "Invalid long value: '1,2'."
}

错误为Invalid long value: '1,2'.。正如我所观察到的,上面的1,2值是用,字符连接的帐单ID(billsToFetch包含1和2.如果billsToFetch包含5和6,则错误消息变为Invalid long value: '5,6'.)。

我该如何解决这个问题?或者,端点是否支持List<Long>参数?

0 个答案:

没有答案