Vorrei rilevare l'eccezione JSON nel mio servizio di assistenza nel caso in cui JSON di input non sia valido.Jersey/Jackson: come catturare l'eccezione JSON?
Getta org.codehaus.jackson.map.JsonMappingException
, ma non so come o dove rilevare questa eccezione. Voglio rilevare questa eccezione e inviare una risposta all'errore appropriata.
@JsonInclude(JsonInclude.Include.NON_NULL)
@Generated("org.jsonschema2pojo")
@JsonPropertyOrder({
"name",
"id"
})
public class Customer {
@JsonProperty("name")
private String name;
@JsonProperty("id")
private String id;
<setter/getter code>
}
public class MyService {
@POST
@Consumes(MediaType.APPLICATION_JSON)
public final Response createCustomer(@Context HttpHeaders headers,
Customer customer) {
System.out.println("Customer data: " + customer.toString());
return Response.ok("customer created").build();
}
}
Tutto funziona bene, ma se il corpo JSON non è ben formata allora getta JsonMappingException
eccezione. Voglio cogliere questa eccezione.
Vedi anche: https://java.net/jira/browse/JERSEY-2722 –