Ich möchte das eingehende Json-Objekt im Controller validieren, bevor es mit Spring Jackson auf POJO geworfen wird.Validieren Sie das Json-Objekt, bevor Sie es in POJO umwandeln - mit @requestBody
Mein Controller:
@RequestMapping(value = "/createContact" , method = RequestMethod.POST , consumes = MediaType.APPLICATION_JSON_VALUE , produces = MediaType.APPLICATION_JSON_VALUE)
public Contact createContact(@RequestBody Contact contact) throws Exception
{
return ContactService.createContact(contact);
}
Mein Contact.java
public class Contact
{
private String ID = UUID.randomUUID().toString();
private String type = "contact";
private String category;
private String name;
}
Was ich zu erreichen versuche, ist, dass 'Typ' Feld sollte nicht in der Anfrage json weitergegeben werden. Ich muss eine Ausnahme auslösen, wenn der Verbraucher diesen Wert übergibt.
Ich kann den JSON als Map oder String abrufen und validieren und dann an POJO übergeben. Aber ist es möglich, es vor dem direkten Gießen zu validieren?
Da das Objekt analysiert wird unter Verwendung von Jackson-Mapping, mit Anmerkungen versehen Objekt entsprechend, mit Jackson XML Anmerkungen. Das sollte dein Problem lösen. – Schaka
@Schaka - Die Annotation in der Objektebene wird global sein. Für bestimmte Anfragen muss ich das 'type'-Feld in der Anforderungsnutzlast blockieren und Ausnahme auslösen, aber wo ich in anderen Anfragen das' type'-Feld akzeptieren muss. Kannst du mir dabei helfen? –