У меня есть два приложения. Пружинный веб-сервис и другой, который его использует. Я не уверен, как обрабатывать исключения и сообщать о них клиенту.
Метод, который предоставляет веб-сервис:
//web service com springboot
@PostMapping(value = "/save", produces = {MediaType.APPLICATION_XML_VALUE, MediaType.APPLICATION_JSON_VALUE},
consumes = {MediaType.APPLICATION_XML_VALUE, MediaType.APPLICATION_JSON_VALUE})
public Pessoa save(@RequestBody Pessoa pessoa) {
// email field is unique, might throw constraint violation...
return pessoaRepository.save(pessoa);
}
и клиентское приложение, которое его использует (без пружины, просто javaEE Client API):
public Pessoa savePessoa(Pessoa pessoa) {
Client client = ClientBuilder.newClient();
WebTarget target = client.target(URL_WS+ "/save");
Entity<Pessoa> data = Entity.entity(pessoa, MediaType.APPLICATION_XML_TYPE);
pessoa = target.request(MediaType.APPLICATION_XML_TYPE).post(data, Pessoa.class);
return pessoa;
}
Поле электронной почты Pessoa уникально, и при сохранении может вызвать некоторое исключение нарушения ограничения.
Если есть исключение, как я могу правильно сообщить об этом клиенту?