Ho un JacksonMappingException
che sto usando per produrre gli errori per l'utente:Posso personalizzare i messaggi di errore di Jackson?
public Map<String, List<Map<String, String>>> getErrors(JsonMappingException e) {
Map<String, List<Map<String, String>>> errors = new HashMap<>();
List<Map<String, String>> badFields = new ArrayList<>();
for (Reference ref: e.getPath()) {
Map<String, String> badField = new HashMap<>();
badField.put("field", ref.getFieldName());
badField.put("description", e.getOriginalMessage());
badFields.add(badField);
}
errors.put("errors", badFields);
return errors;
}
Che è ottimo, tranne per alcune classi di errori, alcuni dettagli tecnici fuoriuscire fuori per l'utente, come ad esempio la struttura di classe , ecc, che è del tutto sconveniente:
{
"errors" : [ {
"field" : "id",
"description" : "Unrecognized field \"id\" (class motif.web.resource.UserResource$PutUser), not marked as ignorable"
} ]
}
Come posso avere description
essere più simile Unrecognized field \"id\"
senza tutto il mumbo Jumbo tecnica?