Code to validate a model POJO using jackson using annotations
Use a model Class to validate
below the jars required

import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.Set; import javax.validation.ConstraintViolation; import javax.validation.Validation; import javax.validation.Validator; import javax.validation.ValidatorFactory; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.dataformat.yaml.YAMLFactory; import com.google.gson.JsonIOException; public class JsonValidator { public static void main(String[] args) throws JsonIOException, IOException { ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); Validator validator = factory.getValidator(); ObjectMapper objectMapper = new ObjectMapper(new YAMLFactory()); List<String> jsonObjString = new ArrayList<String>(); jsonObjString.add("postBox: Mumbai "); for (String attribute : jsonObjString) { System.out.println("Attribute :\n" + attribute); Address user = null; try { user = objectMapper.readValue(attribute, Address.class); } catch (IOException e) { System.out.println("Exception caught:"); } if (user != null) { final Set<ConstraintViolation<Address>> violations = validator.validate(user); if (violations.size() > 0) { System.out.println("Config contains errors:"); for (ConstraintViolation<Address> u : violations) { System.out.println(" \"" + u.getPropertyPath().toString() + "\"" + " " + u.getMessage()); } } else { System.out.println("NO ERRORS "); } } } ; } }
Use a model Class to validate
import org.hibernate.validator.constraints.NotEmpty; import com.fasterxml.jackson.annotation.JsonInclude; import com.sun.istack.internal.NotNull; @JsonInclude(JsonInclude.Include.NON_NULL) public class Address { @NotNull @NotEmpty(message="Incorrect Data") private String postBox; @NotNull @NotEmpty(message="Incorrect Data") private String flatNumber; public String getPostBox() { return postBox; } public void setPostBox(String postBox) { this.postBox = postBox; } public String getFlatNumber() { return flatNumber; } public void setFlatNumber(String flatNumber) { this.flatNumber = flatNumber; } }
below the jars required
No comments:
Post a Comment