堆栈:Spring Boot:2.4.5 DGS:3.11.0
案例:需要过滤每个请求并从中读取 HTTP 标头。标头中的值应该可以在处理 GraphQL 请求的下游代码中访问。一种常见的方法是使用带有 ThreadLocal 的 Servlet 过滤器来存储这些值。
问题:DGS 使用 CompletableFutures 处理传入的 GraphQL 请求,因此即使设置了过滤器并将数据读取到 ThreadLocal,它也不会在 DGS 的执行线程中可用。
解决此类问题的推荐方法是什么?
堆栈:Spring Boot:2.4.5 DGS:3.11.0
案例:需要过滤每个请求并从中读取 HTTP 标头。标头中的值应该可以在处理 GraphQL 请求的下游代码中访问。一种常见的方法是使用带有 ThreadLocal 的 Servlet 过滤器来存储这些值。
问题:DGS 使用 CompletableFutures 处理传入的 GraphQL 请求,因此即使设置了过滤器并将数据读取到 ThreadLocal,它也不会在 DGS 的执行线程中可用。
解决此类问题的推荐方法是什么?