带变量的graphQL查询(C#):查询的正确语法是什么

带变量的graphQL查询(C#):查询的正确语法是什么,c#,testing,graphql,C#,Testing,Graphql,我正在使用以下客户端编写C#测试:。 我的问题是: query getFilters($input: FilterInputType!) { getFilterData(input: $input) { assetId material productFamily equipmentModel } } 以下是查询变量: { "input": { "startDate": "2019-09-01T00:00:00",

我正在使用以下客户端编写C#测试:。 我的问题是:

query getFilters($input: FilterInputType!) {
  getFilterData(input: $input) {
    assetId
    material
    productFamily
    equipmentModel
  }
}
以下是查询变量:

{
    "input": {
        "startDate": "2019-09-01T00:00:00",
        "endDate": "2019-09-30T23:59:59"
    }
}
当我在RestClient中执行查询时,它返回数据,但代码中的查询不起作用。 这是我的密码:

var startDate = "2019-09-01T00:00:00";
var endDate = "2019-09-30T00:00:00";
var dateRange = new { startDate, endDate };
var getFiltersRequest2 = new GraphQLRequest
{
    Query = @"
                {                    
                    query getFilters($input: FilterInputType!) {
                      getFilterData(input: $input) {
                        assetId
                        material
                        productFamily
                        equipmentModel
                        sourceSite
                        destinationSite
                      }
                    }
                }",
    OperationName = "getFilters",
    Variables = new
    {
        input = dateRange
    }
};

//Act
GraphQLClient graphQLClient = new GraphQLClient(endpointUrl);

graphQLClient.DefaultRequestHeaders.Add("Accept", "application/json");
graphQLClient.DefaultRequestHeaders.Add("Authorization", authToken);
var graphQLResponse = await graphQLClient.PostAsync(getFiltersRequest2);

我的语法可能有什么问题

我认为您只需要删除
Query
中最外层的花括号。我认为您只需要删除
Query
中最外层的花括号。