【问题标题】:Spring Data Rest 2.0.0 - @RestResource (exported=false) doesn't work for propertiesSpring Data Rest 2.0.0 - @RestResource (exported=false) 不适用于属性
【发布时间】:2013-12-29 18:33:30
【问题描述】:

我试图避免使用 spring-data-rest 在 JSON 响应的内容中显示几个字段。注释 @RestResource(exported = false) 不适用于 Entity 类中的属性。这可能与以下报告的问题类似:Property reference mapping in Spring Data Rest 2.0.0

就我而言,我有以下两个属性:

@RestResource(exported = false)
private byte[] image;
@RestResource(exported = false)
private Date updateTime;

注释不起作用。我也尝试了下一种方法但没有成功:

@Override
protected void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) {    
config.setResourceMappingForDomainType(MyClass.class)
                .addResourceMappingFor("updateTime")
                .setExported(false);
}

查看 github 中的 spring-data-rest 当前代码让我认为从未使用任何元数据(注释)来设置 JSON 对象的内容。感谢您对这个问题的帮助。也许在当前的 2.0.0 版本中有不同的方法可以做到这一点?

【问题讨论】:

  • 尝试同时使用@RestResource@JsonIgnore。它对我有用。

标签: java json spring rest spring-data-rest


【解决方案1】:

正如issue report 所说,它应该在下一个版本中修复。

【讨论】:

    【解决方案2】:

    如果您使用的是最新快照,以下应该可以工作

    @JsonIgnore
    private byte[] image;
    
    @JsonIgnore
    private Date updateTime;
    

    顺便说一句,@RestResource 是一个类和方法注解,它告诉 SDR 你是否想通过 SDR 公开这些类或方法

    为了控制域对象的序列化,使用杰克逊注解@JsonIgnore

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-24
      • 2018-12-10
      • 1970-01-01
      • 1970-01-01
      • 2014-01-29
      • 2016-01-20
      • 2017-09-27
      • 1970-01-01
      相关资源
      最近更新 更多