GraphQL-Java 发送 HTTP headers 到 REST 端点
GraphQL-Java sending HTTP headers to REST endpoints
我需要一种方法来从我的 grapqh-java impl 向我的其余端点发送用于身份验证和授权的 http headers。我在 GraphQL 服务层做认证和授权,是成功的。现在我需要将相同的 headers 传递到我所有的其余端点。有什么办法可以做到这一点。
Grapqhl - Spring 引导
休息端点 - Dropwizard
也许只是在执行查询时将所需的 user-specific 数据附加到 GraphQL 上下文,例如:
graphQL.execute(queryString, context);
其中 context
可以是任何 object,包含令牌、cookie、session 数据、HttpServletRequest
等
然后,使用它从您的 DataFetcher
发送正确的 header(a.k.a。解析器):
public Object get(DataFetchingEnvironment environment) {
Map<String, Object> context = environment.getContext();
//get tokens, session data or whatever you need from the context to create the headers
List headers = ...;
return callRestWithHeaders("/rest/example", headers);
}
最好,通过组合、继承或可能采用 AOP 样式,在一个地方执行此 header 准备逻辑。
我需要一种方法来从我的 grapqh-java impl 向我的其余端点发送用于身份验证和授权的 http headers。我在 GraphQL 服务层做认证和授权,是成功的。现在我需要将相同的 headers 传递到我所有的其余端点。有什么办法可以做到这一点。 Grapqhl - Spring 引导 休息端点 - Dropwizard
也许只是在执行查询时将所需的 user-specific 数据附加到 GraphQL 上下文,例如:
graphQL.execute(queryString, context);
其中 context
可以是任何 object,包含令牌、cookie、session 数据、HttpServletRequest
等
然后,使用它从您的 DataFetcher
发送正确的 header(a.k.a。解析器):
public Object get(DataFetchingEnvironment environment) {
Map<String, Object> context = environment.getContext();
//get tokens, session data or whatever you need from the context to create the headers
List headers = ...;
return callRestWithHeaders("/rest/example", headers);
}
最好,通过组合、继承或可能采用 AOP 样式,在一个地方执行此 header 准备逻辑。