Google Cloud Endpoint で JsonMappingException が出る場合の対処方法
entity クラスのフィールドに、独自のクラスを追加してたりすると、クライアント側から取得しようとした時にこの例外が発生する。
独自のクラスがサーバーサイドだけで利用しているのであれば、単にクライアント側に送信しないように設定すれば、例外の発生を抑制できる。
クライアント側に送信しないようにするには、getメソッドに @ApiSeriarizationProperty アノテーションをつければいいみたい。
例えば、以下のコードでは Foo を取得するための getFoo() メソッドにアノテーションをつけることで、JsonMappingException がでなくなる。
@Entity public class Hoge { @Id private Key key; private String name; private Foo foo; public Key getKey() { return key; } public void setKey(Key key) { this.key = key; } public String getName() { return name; } public void setName(String name) { this.name = name; } @ApiSerializationProperty(ignored = AnnotationBoolean.TRUE) public Foo getFoo() { return foo; } public void setFoo(Foo foo) { this.foo = foo; } }