gpt4 book ai didi

java - Spring - 在调用 Controller 的方法之前执行代码

转载 作者:行者123 更新时间:2023-11-29 10:08:43 25 4
gpt4 key购买 nike

是否有任何类似于 @PreAuthorize@PreFilter 的注解可用于在调用 Controller 中的方法之前运行代码?

我需要将信息添加到请求上下文(特定于被调用的方法),然后由 ExceptionHandler 检索。

例如

@RestController
public MyController{

@UnkwonwAnnotation("prepareContext(request.getAgentId())"){
public ResponseEntity method1(RequestA requestA) {
...
}

@UnkwonwAnnotation("prepareContext(request.getUserName())"){
public ResponseEntity method1(RequestB requestB) {
...
}

}

我实际上可以只使用 @PreAuthorize 但感觉不对

最佳答案

你可以为此添加拦截器

示例拦截器

public class CustomInterceptor implements HandlerInterceptor {


@Override
public boolean preHandle(HttpServletRequest request,HttpServletResponse response) {
//Add Login here
return true;
}
}

配置

@Configuration
public class MyConfig extends WebMvcConfigurerAdapter {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new MyCustomInterceptor()).addPathPatterns("/**");
}
}

希望对你有帮助

关于java - Spring - 在调用 Controller 的方法之前执行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54364438/

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