私はclass Admin extends User {}
です。 Admin
とUser
の両方が、私は右JaxRSサービスにこのJSONを送信しています@XmlRootElement
JaxRSとJacksonとの多型
@XmlRootElement
public class User {
....
}
@XmlRootElement
public class Admin extends User {
String statement;
}
を拡張します。ここでは
{
"id": "84",
"content": "blablah",
"user": {
"id": 1,
"email": "[email protected]",
"name": "Nicolas",
"male": true,
"admin": true,
"statement":"hello world"
}
}
は、Webサービスです。コメントにはUser
が含まれているはずですが、ここではstatement
フィールドがUser
に不明なAdminがあります。そのUser
があるので
@POST
@Path("{id}/comments")
public Response createComment(@PathParam("id") long topicId, Comment comment) { ... }
Comment
Comment
は受け付けていません
Admin
:
@XmlRootElement
public class Comment {
String id;
String content;
User user = null;
}
どのように私は、ジャクソンは、ユーザーの任意の種類を受け入れることを教えてください?ほとんどのJava EEと互換性のある(つまり、別のJsonハンドラを持つサーバと)互換性を持たせるには?
あなたは@XmlElement(名前=「ユーザーを試してみましたが"、type = Admin.class)コメントクラス –
必ずしも管理者ではありません。ユーザーまたは管理者がコメントを作成できます –