Spring boot @RestControllers中是否有@before和@after的等价物?

Spring boot @RestControllers中是否有@before和@after的等价物?,spring-boot,kotlin,spring-webflux,spring-restcontroller,Spring Boot,Kotlin,Spring Webflux,Spring Restcontroller,我在spring boot项目中有一个rest控制器API。我需要添加一个公共函数,例如,在控制器中的所有路由之前验证每个传入请求的令牌,而不是分别为每个路由调用相同的函数。有没有一种方法可以通过基于@Restcontroller的路由来实现这一点,而不是使用web流量处理程序和路由器方式 编辑:是否有一种方法仅对某些路由而不是所有传入请求使用拦截器 当前版本示例: @RestController @RequestMapping("/api/") class TestCont

我在spring boot项目中有一个rest控制器API。我需要添加一个公共函数,例如,在控制器中的所有路由之前验证每个传入请求的令牌,而不是分别为每个路由调用相同的函数。有没有一种方法可以通过基于@Restcontroller的路由来实现这一点,而不是使用web流量处理程序和路由器方式

编辑:是否有一种方法仅对某些路由而不是所有传入请求使用拦截器

当前版本示例:

@RestController
@RequestMapping("/api/")
class TestController() {

@GetMapping("/test1")
fun test1(): String {
  common()
  return "Test1"
 }
 @GetMapping("/test2")
 fun test2(): String {
   common()
   return "Test2"
 }

 fun common() {
   //some validation logic
 }
}

您通常会开发过滤器来处理Springboot上的安全问题。过滤器拦截对应用程序的所有调用,您可以在其中检查令牌的存在,以避免未经授权的访问。请参阅本页了解更多详细信息:。

这是否回答了您的问题?您可以使用
HandlerINterceptor
。但是,由于这让人觉得您正在尝试构建自己的安全解决方案,我强烈建议您使用Spring security,而不是构建自己的框架。谢谢您的回答。我只需要对某些路由使用令牌机制,例如,仅对“/externalapi/*”下的路由使用令牌机制。其他路线可能使用也可能不使用相同的安全措施。除了对所有http请求使用拦截器之外,是否有办法只过滤某些路由?感谢您的响应。但我想为一个特定的控制器路由添加拦截器,而不是为所有传入的http请求添加拦截器。