The REST resource that is used to validate the configuration parameters of a gadget should simply return a 200 OK
status if the parameters are valid.
If the configuration is not valid, the REST resource should return a 400 Bad Request
status with a JSON format body containing error messages.
Error messages may either be general (e.g. pointing out an inter-field consistency problem) or specific to the value of a particular field.
1 2{ "errorMessages": { "start.date.before.end.date", "some.other.error" } "errors": { "field": "bugzillaUrl", "error": "gadget.bugzilla.invalid.url" } }
Here's an example of Java JAXB annotated classes which produce suitable JSON:
1 2@XmlRootElement public class ErrorCollection { /** * Generic error messages */ @XmlElement private Collection<String> errorMessages = new ArrayList<String>(); /** * Errors specific to a certain field. */ @XmlElement private Collection<ValidationError> errors = new ArrayList<ValidationError>(); ... }
1 2@XmlRootElement public class ValidationError { // The field the error relates to @XmlElement private String field; // The Error key... @XmlElement private String error; @XmlElement private Collection<String> params; ... }
Rate this page: