春季启动。如何在序列化过程之前修改控制器响应

时间:2019-01-09 18:04:42

标签: spring rest spring-boot interceptor

我想在序列化过程之前和控制器返回对象之后修改(拦截)响应对象。 我有一个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'属性。我想针对返回用户对象的每个端点中的每个请求,修改对客户端的最终响应。

0 个答案:

没有答案