Я хочу изменить (перехватить) объект ответа перед процессом сериализации и после того, как контроллер вернет объект.
У меня есть RestController и класс пользователя, как это:
public class User {
public String name;
public int id;
public boolean hasErrors;
public User(Sting name, int id) {
this.name = name;
this.id = id;
this.hasErrors = false;
}
}
@RestController
public class UserController {
@GetMapping("/")
public User getUser() {
return userService.performMagicAndGetUser();
}
}
и я хочу иметь возможность изменять объект User, возвращаемый методом UserController :: getUser, непосредственно перед его сериализацией в тело HttpServletResponse в виде JSON. Поэтому я хочу изменить свойство 'hasErrors' на основе того, что произошло в методе 'userService.performMagicAndGetUser' и было сохранено в некотором держателе контекста запроса. Я хочу изменить окончательный ответ клиенту для каждого запроса в каждой конечной точке, которая возвращает объект User.