Spring引导数据REST @JsonValue POJO序列化为带内容字段的POJO

时间:2017-02-20 05:35:38

标签: java spring spring-boot jackson spring-data-rest

我使用的是spring boot 1.5.1.RELEASE,其中jackson是MessageConverter。

我的一个POJO看起来像下面这样:

@Getter
@AllArgsConstructor
public class Pojo1 {
  @Id
  private final String id;
  private final NestedValue payload;
}

public class NestedValue {
  private final String value;

  public NestedValue(String value) {
    this.value = value;
  }

  @JsonCreator
  public static NestedValue(String value) {
    return new NestedValue(value);
  }

  @JsonValue
  public String getValue() {
    return value;
  }
}

@RepositoryRestResource(collectionResourceRel = 'pojos', path='pojos')
public interface Pojo1Repository extends MongoRepository<Pojo, String> {
}

我期待上面的序列化为:

{
  "payload": "value projected by getValue()"
}

相反,我得到如下:

{
  "payload": {
      "content": "value projected by getValue()"
  }
}

如果我使用默认ObjectMapper对其进行测试,则POJO会按照我的预期进行序列化。 是否有一个由Spring ???

配置的隐藏杰克逊功能

0 个答案:

没有答案