问题描述
我使用Quarkus 1.6.1.Final版本和使用SmallRye GraphQL的GraphQL实现。我的目的是定义逻辑,以检查对/graphql
端点发出的每个请求(查询+变异)的用户权限。因此,我正在尝试为GraphQL找到类似于jax-rs ContainerRequestFilter
的东西。您对此有任何想法吗?我尝试定义ContainerRequestFilter
,但它仅捕获RestEasy请求,而不捕获GraphQL请求。
解决方法
我自己正在调查。似乎GraphQL直接注册了Vert.X路由调用[1],而不是使用Undertow(servlet)或RestEASY(jaxrs)。这样一来,据我所知,它可以更轻松地完成部分结果之类的事情。
您将要使用RouteFilter批注查看拦截Vert.X请求。我已经包含了下面的链接,但是它的工作原理与jax-rs中的ContainerRequestFilter相似。我已经从Quarkus帮助指南[2]中复制了示例代码,以提供一个简单的示例:
12:50:52 BUILD FAILED
12:50:52 /var/lib/jenkins/workspace/HOM_UI_To-Q1N1-175/hom/homr2/build.xml:166: Problem: failed to create task or type mxmlc
12:50:52 Cause: The name is undefined.
12:50:52 Action: Check the spelling.
12:50:52 Action: Check that any custom tasks/types have been declared.
12:50:52 Action: Check that any / declarations have taken place.
2:https://quarkus.io/guides/reactive-routes#intercepting-http-requests