当前位置: 首页 > 知识库问答 >
问题:

在@restcontrollers中有@before和@after的等价物吗?

乌靖
2023-03-14

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

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

@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
 }
}

共有1个答案

杜良骏
2023-03-14

您通常开发过滤器来处理SpringBoot上的安全性。筛选器拦截对应用程序的所有调用,您可以在其中检查令牌的存在,以避免未经授权的访问。有关更多粒度的详细信息,请参阅本页:https://medium.com/@xoor/jwt-authentication-service-44658409e12c。

 类似资料:
  • 就像Java 8中的(在某种程度上)与Scala的类型等价一样,是否存在与Scala的等价的类型?

  • 我是WPF技术的新手。我已经在WinForms开发了大约6年。 现在我想通过学习WPF来提高我的技能一大步。我正在阅读MSDN中的介绍指南,同时作为个人练习,我试图将WinForms UI的sructure转换为其WPF UI的等价物。 这是我想在WPF中重现的WinForms控件结构的简单模型: 我的问题:有人可以指导我或给我一个简短的例子,我如何可以添加一个下拉按钮的东西在工具栏?。

  • 正如Maven(客户端)和IvyResolver(Gradle使用)一样,Bundler解决了配置文件(Bundler的Gemfile)中声明的库依赖关系。然而,在这之后,绑定器将依赖项解析保存在Gemfile上。锁它允许其他开发人员使用完全相同的库。 例如,Maven在依赖关系解决中使用了一种不明确的决定论方法来解决冲突。例如,将版本指定为。。。 不保证使用该版本。并将版本指定为。。。 给我们几

  • 我是新来的,所以我有一些关于gradle的问题。在gradle之前,我使用过maven,在maven中有一些命令,例如 而且 ~=

  • Before and After 是 jQuery 插件,可以查看之前版本的图片,也可以覆盖掉当前的图片。 Before and After 使用一个拖拽处理条来让用户决定如何显示这两个图片。 在线演示

  • 我尝试使用以下R语句,并使用NumPy将其转换为Python: 有与which()等价的Python吗?这里,x是矩阵tmp中的行,k对应于另一个矩阵中的列数。 之前,我尝试了以下Python代码,并收到一个值错误(操作数无法与形状一起广播):