私が見つけたのは、Endpointメソッドは、Stringなどのプリミティブ型でない限り、2つ以上のオブジェクトを渡すことはできません。あなたの例では、User
とJsonList
のオブジェクトを渡しています。
あなたができることは、それを行うときにpojoラッパークラスを作成することです。そこにUser
オブジェクトとそこにJsonList配列があります。 Endpointメソッド内ですべてをラップします。
Endpoint(MyWrapper)
注:あなたが意図Androidのようなモバイルクライアントから自分のエンドポイントのメソッドを呼び出すことがあれば、あなたのJsonListはやSerializable
を実装する必要がない場合があります。
編集:ここでは は一例です。
public final class SomeObject
{
private String stringValue;
private int intValue;
// add more
public SomeObject(String stringValue, int intValue)
{
this.stringValue = stringValue;
this.intValue = intValue;
}
public String getString()
{
return stringValue;
}
public String getInt()
{
return intValue;
}
}
public final class someObjectWrapper
{
private User user;
private List<SomeObject> someObjectList
public someObjectWrapper(List<SomeObject> someObjectList, int user) {
this.someObjectList = someObjectList;
this.user = user;
}
public List<SomeObject> getSomeObjectList() {
return someObjectList;
}
public void setSomeObjectList(List<SomeObject> someObjectList) {
this.someObjectList = someObjectList;
}
public int getUser() {
return user;
}
public void setUser(int user) {
this.user = user;
}
}
は、その後、あなたのAPIメソッドの内部で、ちょうど新しい変数としてラッパーからこれらのプロパティを取得して、あなたがしたいしかし彼らと仕事。
[this](https://cloud.google.com/appengine/docs/java/endpoints/parameter-and-return-types#supported_parameter_types)によると、配列やコレクションのみを使用できます。したがって、JsonListは 'java.util.Collection'インタフェースを実装する必要があります。 – konqi