0
我試圖根據使用的接口實現單個實體的json序列化到不同的視圖。 例如,我們有:傑克遜和多接口繼承
public interface BookBrief {
long getId();
String getTitle();
}
public interface BookPreview {
long getId();
String getAnnotation();
}
public class Book implements BookBrief, BookPreview {
// class fields here
public long getId() {...}
public String getTitle() {...}
public String getText() {...}
public String getAnnotation() {...}
// setters here
}
// service which results is serialized to json in Spring MVC controllers
public interface BookService {
List<? extends BookBrief> getBooks();
BookPreview getBookPreview(long id);
Book getBook(long id);
}
bookService的實現總是返回書類(設置爲null未使用的字段)。 爲了序列化接口,我試圖對每個使用註釋@JsonSerialize(as = Interface.class),但對於所有接口,jackson總是隻使用'實現'表達式中列出的第一個接口。 有沒有像我需要配置jackson的方法?或者可能有更好的解決方案?