实现一个 Spring Base RestController
Implement a Spring Base RestController
我是 Spring 和 Spring-boot 的新手。
我必须实施一些休息服务。
一般来说,我有两种不同类型的这些休息服务,我想创建两个不同的 BaseController 来实现其他特定子控制器的通用逻辑。
例如。我想要一个没有(可能)任何特定服务(GET、POST 等)
的基础控制器(映射基础 url /api/v1/typeA/
)
我想为每个子控制器扩展这个基本控制器
例如:
- ControllerA1 扩展了 BaseControllerA (
/api/v1/typeA/EntityA1
)
使用 GET、POST 等方法
- ControllerA2 扩展了 BaseControllerA (
/api/v1/typeA/EntityA2
)
使用 GET、POST 等方法
我想要这个是因为,可能我需要每个子控制器的一些通用逻辑(例如授权逻辑、验证逻辑……)
实际上,我想扩展一个 BaseController 并且每个方法都将继承共享逻辑。
如果可能的话,我希望在将请求处理到子控制器时准备经过验证的对象。我的意思是:当我验证一个请求时,我可能需要进行一些查询来检索一些数据。如果验证完成,我想将此数据注入请求,我将可以访问特定的子控制器(无需进行相同的查询)
你能建议我一些例子或信息来实现这个吗?对我的问题有什么建议吗?
您不需要 BaseController
。我认为您需要一个 Filter
来实现自定义授权逻辑。您可以将此过滤器添加到请求链中,这样您只需执行一次该逻辑。
下面是一些实现 Filter
:
的例子
- https://www.baeldung.com/spring-security-custom-filter
- https://medium.com/@hantsy/protect-rest-apis-with-spring-security-and-jwt-5fbc90305cc5
Filter
不限于实现授权逻辑。您还可以为日志记录添加特定逻辑。
我是 Spring 和 Spring-boot 的新手。
我必须实施一些休息服务。
一般来说,我有两种不同类型的这些休息服务,我想创建两个不同的 BaseController 来实现其他特定子控制器的通用逻辑。
例如。我想要一个没有(可能)任何特定服务(GET、POST 等)
的基础控制器(映射基础 url/api/v1/typeA/
)
我想为每个子控制器扩展这个基本控制器
例如:
- ControllerA1 扩展了 BaseControllerA (
/api/v1/typeA/EntityA1
) 使用 GET、POST 等方法 - ControllerA2 扩展了 BaseControllerA (
/api/v1/typeA/EntityA2
) 使用 GET、POST 等方法
我想要这个是因为,可能我需要每个子控制器的一些通用逻辑(例如授权逻辑、验证逻辑……)
实际上,我想扩展一个 BaseController 并且每个方法都将继承共享逻辑。
如果可能的话,我希望在将请求处理到子控制器时准备经过验证的对象。我的意思是:当我验证一个请求时,我可能需要进行一些查询来检索一些数据。如果验证完成,我想将此数据注入请求,我将可以访问特定的子控制器(无需进行相同的查询)
你能建议我一些例子或信息来实现这个吗?对我的问题有什么建议吗?
您不需要 BaseController
。我认为您需要一个 Filter
来实现自定义授权逻辑。您可以将此过滤器添加到请求链中,这样您只需执行一次该逻辑。
下面是一些实现 Filter
:
- https://www.baeldung.com/spring-security-custom-filter
- https://medium.com/@hantsy/protect-rest-apis-with-spring-security-and-jwt-5fbc90305cc5
Filter
不限于实现授权逻辑。您还可以为日志记录添加特定逻辑。