我使用Quarkus 1.6.1.Final版本和使用SmallRye GraphQL的 GraphQL 实现。我的目标是定义逻辑来检查对端点的每个请求(查询+突变)的用户权限。/graphql
所以,我试图找到类似 jax-rs 的东西,ContainerRequestFilter
但对于 GraphQL。你有什么想法吗?我试图定义ContainerRequestFilter
,但它只捕获 RestEasy 请求而不是 GraphQL 请求。
问问题
429 次
1 回答
0
我自己正在研究这个。似乎 GraphQL 直接注册了 Vert.X 路由调用 [ 1 ],而不是使用 Undertow(servlets) 或 RestEASY(jaxrs)。这样它就可以更轻松地完成部分结果之类的事情。
您将要查看使用 RouteFilter 注释拦截 Vert.X 请求。我已经包含了下面的链接,但它的工作原理很像来自 jax-rs 的 ContainerRequestFilter。我从 Quarkus 帮助指南 [ 2 ] 中复制了示例代码,以提供一个快速示例:
package org.acme.reactive.routes;
import io.vertx.ext.web.RoutingContext;
public class MyFilters {
@RouteFilter(100)
void myFilter(RoutingContext rc) {
// Put your logic here
// continue the filtering of the request
rc.next();
}
}
2:https ://quarkus.io/guides/reactive-routes#intercepting-http-requests
于 2020-10-22T12:46:33.950 回答