我正在使用Jackson为rest api序列化Java对象。在Java中,我有一个继承Admin类的User类。
如果我通过返回Collection<User>
的方法从ReactJS请求数据,那么对于Admin对象,我只获得id
。
以下是我的用户类:
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")
@NamedQueries(
@NamedQuery(name = "User.findByName",
query = "SELECT u FROM User u WHERE u.firstName = :firstName AND u.lastName = :lastName"))
@Entity
@Table(name = "users")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "user_type")
public class User extends AbstractEntity {
@Basic(optional = false)
@Column(nullable = false, name = "first_name")
private String firstName;
@Basic(optional = false)
@Column(nullable = false, name = "last_name")
private String lastName;
@Basic(optional = false)
@Column(nullable = false, unique = true)
private String email;
...
然后我有管理员类:
@Entity
public class Admin extends User {
}
我希望以管理员和用户的相同形式接收JSON对象,但Admin对象仅使用id
进行序列化,而不是其他任何内容。
是否需要Jackson的任何其他配置?
我想这与question
有一些共同点