2015-04-17 49 views
0

我無法讓Jackson @JsonSubType在我的SpringBoot應用程序中工作。無法使@JsonSubType與Spring Boot配合工作

我已經定義了下面的「配置類」

@Configuration 
public class GlobalAppConfig { 

    @Bean 
    @Primary 
    public ObjectMapper objectMapper() { 
     ObjectMapper objectMapper = new ObjectMapper(); 
     objectMapper.registerSubtypes(AbstractKpi.class, AbstractKpiView.class, 
       ApplicationObsolescenceKpiView.class, ManualEnumKpiView.class, 
       ManualEnumKpiView.class, ApplicationObsolescenceKpi.class, 
       ManualNumericKpi.class, ManualEnumKpi.class); 
     return objectMapper; 
    } 
} 

在類別列表上面,我有以下標註

@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.PROPERTY, property = "@class") 
public abstract class AbstractKpiView { 

    Long id; 

    Long version;... 

@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.PROPERTY, property = "@class") 
public class ManualNumericKpiView extends AbstractKpiView { 

    Float minValue; 

    Float maxValue;... 

RestController連載我的對象成JSON格式,但@class attributte永遠不會被添加。

同一類的純Java應用程序正常工作,只有傑克遜庫(即SpringBoot外)

我沒有找到與SpringBoot 任何想法適用於任何樣品?

回答

0

問題是我返回了List<AbstractKpiView>...,傑克遜在這種情況下不使用註釋。

所以我創建了一個嵌入我的集合的類,最後它的工作原理!

問題是,返回一個集合....我將集合嵌入到一個POJO中,現在一切都很好。

相關問題