春季WS&验证器拦截器

发布于 2024-08-24 12:13:43 字数 549 浏览 5 评论 0原文

我有一个映射 Web 服务的端点,用于在数据库中插入一些关键字:

@Transactional(readOnly = false,isolation= Isolation.SERIALIZABLE)
public Source saveKW(...).

输入是一个请求。

我想在方法上添加一个拦截器以验证参数。 这个将从数据库读取一些值。

我希望这个拦截器嵌入到为端点声明的事务中(或相反)。换句话说,我希望它们处于同一交易中。

理想情况下,我正在寻找带有注释的类似内容:

@Transactional(readOnly = false,isolation= Isolation.SERIALIZABLE)
@validator("KeyWordValidaor.class")
public Source saveKW(...)

其中 KeyWordValidaor 将是验证参数的类。

您有任何想法或简短的示例来以这种方式或以其他真实的方式实现这一点吗?

I have a endpoint mapping a webservice which is used to insert in the dabatabase some keywords:

@Transactional(readOnly = false,isolation= Isolation.SERIALIZABLE)
public Source saveKW(...).

The input is a request.

I would like to add an interceptor on the method in order to validate the parameters.
this one will read some values from the DB.

i would like that this interceptor is EMBED in the transaction declared for the endpoint (or this opposite). In other words, i want them to be in the same transaction.

Ideally im looking for something like this with annotation:

@Transactional(readOnly = false,isolation= Isolation.SERIALIZABLE)
@validator("KeyWordValidaor.class")
public Source saveKW(...)

where KeyWordValidaor will be class validating the parameters.

Have you any idea or short examples to implements this like this way or in a other real way?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我不吻晚风 2024-08-31 12:13:43

验证必须在事务内部进行,因为它正在查询数据库以测试约束等。
我已经找到了我的解决方案。我使用 spring aop &我通过映射从 spring 上下文动态加载适当的验证器。 (提前自动连接未知豆名称的非常​​和未知的功能!)。
由于订单属性,它位于交易内部。

The validation has to be inside the transaction because it is querying the database to test constraints for example.
I have already found my solution. Im using spring aop & i load dynamically the appropriate validator from the spring context throuh a map. (very & unknown feature of autorwired unknow beans name in advance!).
Thanks to the order attribute ,it is inside the transaction.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文