Я использую Java 8, Tomcat 8, Spring-WebMVC 4.2.2.RELEASE, FasterXML 2.6.3.Верните пустой JSON из контроллера пружины для ответа на пустоту
У меня есть следующий метод в моем контроллере
@RequestMapping(method = RequestMethod.POST)
@ResponseBody
public void updateCurrentUserDetails(@RequestBody final UserDTO userDTO) {
final UserWithId user = SecurityUtil.getCurrentUser();
this.userAccountService.updateUserDetails(user.getUserId(), user.getUsername(), userDTO);
}
Этот метод возвращает пустоты, который решает в пустом (0 байт) ответ. Однако клиенты, подключающиеся к серверу, всегда ожидают, что сообщения JSON будут даже четными, если будет пустой ответ.
Поэтому я хотел бы настроить Spring/Jackson для возврата {} (2 байта) в этом случае.
Я уже думал о возврате нового объекта Object() во всех вызовах, которые возвращают void иначе, но IMO это грязный soution, и должно быть что-то лучше.
Хотя технически это правильный ответ, он не соответствует требованиям. Печальная правда заключается в том, что используемая клиентами инфраструктура не способна обрабатывать HTTP 204 или пустые тела. И сервер должен компенсировать это. Но, конечно, я буду там возиться. –