gpt4 book ai didi

spring-boot - 特定 Controller 的自定义 Web 过滤器

转载 作者:行者123 更新时间:2023-12-05 01:17:41 25 4
gpt4 key购买 nike

请帮助我,或展示解决此问题的其他方法。

@RestController
@RequestMapping("/users")
public class UserController {

@RequestMapping("/login")
public String logIn() {
return "";
}

@RequestMapping("/getUserData")
@FilterThisRequest
public String getUserData(@PathVariable Long userId) {
return user;
}
}

而且我有 AuthFilter extends GenericFilterBean 这使得一定的逻辑。如何使过滤器仅在具有 @FilterThisRequest 的方法之前执行?或者有更好的做法来解决这个问题?

最佳答案

https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-embedded-container-servlets-filters-listeners-beans 上查看 FilterRegistrationBean 引用指南.

通过 @Configuration 类使 Spring 可以使用 FilterRegistrationBean,下面的示例将确保 authFilter 仅针对/getUserData 运行。请注意,它是基于 URL(而不是方法)的过滤。

@Autowired AuthFilter authfilter;
....
....
@Bean
public FilterRegistrationBean authFilterRegistration() {
FilterRegistrationBean registration = new FilterRegistrationBean(authfilter);
registration.addUrlPatterns("/web-app-name/getUserData/");
return registration;
}

关于spring-boot - 特定 Controller 的自定义 Web 过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49156446/

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