相关疑难解决方法(0)

Hibernate Validator和Jackson:使用@JsonProperty值作为ConstraintViolation PropertyPath?

假设我有一个简单的POJO,如下面注释了Jackson 2.1和Hibernate Validator 4.3.1注释:

final public class Person {
  @JsonProperty("nm")
  @NotNull
  final public String name;

  public Person(String name) {
      this.name = name;
  }
}
Run Code Online (Sandbox Code Playgroud)

我将这样的JSON发送到Web服务:

{"name": null}
Run Code Online (Sandbox Code Playgroud)

报告ConstraintViolation时,Hibernate使用类成员标识符"name"而不是JsonProperty注释值.有谁知道是否可以让Hibernate Validator查看类的注释并使用该值代替?

hibernate-validator jackson bean-validation

6
推荐指数
2
解决办法
2783
查看次数

使用Jackson,如何为任意pojo类获取已知JSON属性的列表?

理想情况下,它将看起来像这样:

List<String> props = objectMapper.getKnownProperties(MyPojo.class);
Run Code Online (Sandbox Code Playgroud)

,,没有这样的方法。通常可行的方法是将Include.ALWAYS显式设置为ObjectMapper的默认值,以反射方式实例化该类的实例,将其转换为映射,然后检查键集。但是,类仍可以覆盖给定注释的ObjectMapper的include行为。

有没有更优雅的方法?至少,有没有一种方法可以使用对象映射器覆盖类注释?

编辑:
只是为了澄清,这些pojos / javabeans / DTO是为与Jackson一起使用而设计的,并且已经绑定了注释以导致特定的序列化行为。碰巧的是,我需要动态地预先知道自己可能会遇到什么,理想情况下,无需复制杰克逊已经可用的信息。也就是说,如果另一个框架提供此功能,我很想知道。:)

java json jackson

5
推荐指数
2
解决办法
1441
查看次数