有没有办法在@GraphqQuery方法中读取请求标头

时间:2020-06-02 08:04:59

标签: graphql-spqr

我需要从我的graphql查询解析器中的请求标头读取数据。

使用graphql-spqr库。

方法样本。

from pathlib import Path

def log_action():
    print("log")

def csv_action():
    print("csv")

suffix_action = {".log": log_action, ".csv": csv_action}

action = suffix_action[Path("file.log").suffix]
action()

1 个答案:

答案 0 :(得分:1)

能够使用@GraphQLRootContext作为我的方法参数之一进行解析

import io.leangen.graphql.annotations.*;
import io.leangen.graphql.spqr.spring.annotation.GraphQLApi;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@GraphQLApi
@Component
public class ProjectQueryResolver{
    @GraphQLQuery
    public Project projects(@GraphqlArugment String projectId, 
                            @GraphQLRootContext DefaultGlobalContext context) {

       HttpServletRequest servletRequest = context.getServletRequest();
       String paramValue = servletRequest.getHeader("param"); 
       ...
    }
}