2014-11-06 62 views

回答

4

这样做的原因行为是MapperFeatureDEFAULT_VIEW_INCLUSION

从的Javadoc:

默认值为启用,这意味着未标注属性包含在所有的意见,如果没有JsonView注释

在新泽西州,您可以通过禁用此功能JacksonJaxbJsonProvider。这应该以类似的方式用于其他JAX-RS框架。

@ApplicationPath("/api") 
public class MyApplication extends ResourceConfig { 
    public MyApplication() { 
    ... 

    JacksonJaxbJsonProvider provider = new JacksonJaxbJsonProvider(); 
    ObjectMapper objectMapper = new ObjectMapper(); 
    objectMapper.disable(MapperFeature.DEFAULT_VIEW_INCLUSION);  
    provider.setMapper(objectMapper); 

    register(provider); 

    ... 
    } 
}