Google Cloud Endpoint 웹 서비스에서 일하고 있으며 최종적으로 인증이 작동 한 후에 생성 된 코드에 몇 가지 문제가 있습니다.Cloud Endpoints에서 @JSONString 주석에 잘못된 인수 예외가 발생했습니다.
개체 ID 인 client_id와 high_water_mark에 정수 필드를 사용하여 이와 같은 ProtoRPC 메시지를 작성했습니다.
class NoteMessage(messages.Message):
id = messages.IntegerField(1)
client_id = messages.IntegerField(2)
high_water_mark = messages.IntegerField(5)
...
이
는long
필드에
@JsonString
속성을 포함 Java 소스를 생성하지만 서버에서 응답을받을 때, 나는 다음과 같은 오류가 발생합니다.
E/AndroidRuntime(9231): java.lang.IllegalArgumentException: number type formatted as a JSON number cannot use @JsonString annotation [key id, field private java.lang.Long com.google.api.services.notes.model.NoteApiMessagesNoteMessage.id]
E/AndroidRuntime(9231): at com.google.common.base.Preconditions.checkArgument(Preconditions.java:119)
E/AndroidRuntime(9231): at com.google.api.client.json.JsonParser.parseValue(JsonParser.java:599)
E/AndroidRuntime(9231): at com.google.api.client.json.JsonParser.parse(JsonParser.java:350)
E/AndroidRuntime(9231): at com.google.api.client.json.JsonParser.parseValue(JsonParser.java:586)
E/AndroidRuntime(9231): at com.google.api.client.json.JsonParser.parseArray(JsonParser.java:456)
E/AndroidRuntime(9231): at com.google.api.client.json.JsonParser.parseValue(JsonParser.java:549)
E/AndroidRuntime(9231): at com.google.api.client.json.JsonParser.parse(JsonParser.java:350)
E/AndroidRuntime(9231): at com.google.api.client.json.JsonParser.parseValue(JsonParser.java:586)
E/AndroidRuntime(9231): at com.google.api.client.json.JsonParser.parse(JsonParser.java:289)
E/AndroidRuntime(9231): at com.google.api.client.json.JsonObjectParser.parseAndClose(JsonObjectParser.java:76)
E/AndroidRuntime(9231): at com.google.api.client.json.JsonObjectParser.parseAndClose(JsonObjectParser.java:71)
E/AndroidRuntime(9231): at com.google.api.client.http.HttpResponse.parseAs(HttpResponse.java:495)
E/AndroidRuntime(9231): at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:465)
E/AndroidRuntime(9231): at com.ryanharter.hashnote.sync.SyncAdapter.syncNotes(SyncAdapter.java:187)
E/AndroidRuntime(9231): at com.ryanharter.hashnote.sync.SyncAdapter.onPerformSync(SyncAdapter.java:110)
E/AndroidRuntime(9231): at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:254)
실제로 직렬화 또는 직렬화를 제어 할 수 있습니다, 그래서 어떻게 자바와 함께 작동하도록되어 어디있는 장소를 찾을 수없는 것?
감사합니다. @bossylobster를 많이 보내 주셔서 감사합니다. 나는 그것이 일어난 이유를 설명하는 다른 게시물을 발견했다. 나는 그것을 고치는 방법을 알지 못했다. 매우 감사! – rharter
우수 답변 –