我想在序列化过程之前和控制器返回对象之后修改(拦截)响应对象。 我有一个RestController和一个像这样的User类:
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();
}
}
,并且我希望能够在将它作为JSON序列化到HttpServletResponse主体之前,修改UserController :: getUser方法返回的User对象。所以我想基于'userService.performMagicAndGetUser'方法中发生的事情并存储在某些请求上下文持有者中来修改'hasErrors'属性。我想针对返回用户对象的每个端点中的每个请求,修改对客户端的最终响应。