Chciałbym złapać wyjątek mapowania json w mojej restful usługi, w przypadku gdy wejście json nie jest prawidłowe.Jersey/Jackson: jak złapać wyjątek mapowania json?
Rzuca org.codehaus.jackson.map.JsonMappingException
, ale nie wiem, jak i gdzie złapać ten wyjątek. Chcę złapać ten wyjątek i odesłać odpowiednią odpowiedź błędu.
@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();
}
}
Wszystko działa poprawnie, ale jeśli ciało json nie jest dobrze uformowane następnie rzuca JsonMappingException
wyjątek. Chcę złapać ten wyjątek.
Patrz także: https://java.net/jira/browse/JERSEY-2722 –