gpt4 book ai didi

spring-mvc - 在序列化之后但在 Controller 之前拦截@RequestBody

转载 作者:行者123 更新时间:2023-12-03 12:51:57 27 4
gpt4 key购买 nike

我的请求主体对象都实现了一个接口(interface)调用 Auditable,可以在其中设置用户名和 lastUpdate 时间戳。我想在序列化之后但在到达 Controller 之前拦截对 Controller 函数的调用,这样我就可以将这些值放在一个地方。

我查看了 HandlerInterceptor.prehandle 但此方法在序列化之前执行。关于如何实现这一点有什么建议吗?

最佳答案

您可以使用 ControllerAdvice,它可以在这些情况下提供帮助。它拦截所有 Controller 请求,您可以在方法中访问序列化的域对象。它几乎可以是 requestMapping 方法采用的所有参数。希望这可以帮助。

@ControllerAdvice
public class ControllerAdvisor {

@ModelAttribute
public void addAttributes(HttpServletRequest request, HttpServletResponse response,Model model, @RequestBody DomainObject domain) {
domain.setUserName("test");
// set other items that you want to do.
}

}

关于spring-mvc - 在序列化之后但在 Controller 之前拦截@RequestBody,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30924396/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com