Я хочу иметь возможность изменить POJO, возвращенный методом RestController (или конечной точкой), до его сериализации в HttpServletResponse в виде потока данных. Но я хочу иметь возможность делать это вне кода метода контроллера (в качестве промежуточного программного обеспечения).
Я пытался сделать это с помощью HandlerInterceptor, но у меня нет доступа к POJO. Я также пытался использовать AOP, но Pointcut никогда не вызывался.
@RestController
public class TestController {
@GetMapping("/test")
public Resource<User> getTest() {
Resource<User> resource = new Resource<>();
resource.setData(new User("test user"));
return resource;
}
@Builder
@Getter
@Setter
@AllArgsConstructor
static class User {
private String username;
}
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
static class Resource<T> {
private T data;
private Set<String> errors;
}
}
Я хочу иметь возможность добавить список errors
(при необходимости) в Ресурс, возвращаемый Контроллером после того, как контроллер выполняет свою собственную логику и возвращает.