首页 > 解决方案 > Pojo 到带有验证的 json

问题描述

我有以下课程

public class Person {
   public String id;
    public String firstname;
    public String lastname;
    public String gender;
    public String profession;

我有人员列表 listPerson 的列表。我需要将其转换为 JSON,但我需要实现一些验证,例如名字大小应该大于 3,id 不应该为空。

我能够将 listPerson 转换为 JSON 字符串,但无法实现验证。如何实现验证?

我正在使用带有 java 8 的 Spring Boot 最新版本。

ObjectMapper mapper = new ObjectMapper();
    String jsonInString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(listPerson);
        stem.out.println(jsonInString);

标签: jsonspringspring-bootjackson

解决方案


对于验证字段,您需要使用 javax 验证注释等@NotNull, @Size, @NotBlank

public class Person {

    @NotBlank
    public String id;
    @Size(min = 4)
    public String firstname;
    public String lastname;
    public String gender;
    public String profession;
}

要调用手动验证,您需要自动接线Validator

@Autowired
private Validator validator;

现在你可以调用validate函数

    validator.validate(personObject);

推荐阅读