Передать список словаря в качестве входных данных в API-интерфейс graphql из кода Python

Мой сервер graphql принимает массив объектов в качестве входных данных для мутации. Я пытаюсь создать пример на Python для вызова того же API. Код ниже работает очень хорошо, когда я просто передаю словарь. Но мой реальный вариант использования - передать список словаря. Как только я передаю список словаря, он выдает ошибку. Как правильно передать список словаря из клиента Python.

# coding: utf-8

import json
from graphqlclient import GraphQLClient
rest_url = "http://localhost/datadirect"

client = GraphQLClient(rest_url)

variables = [{"TC_VAL": "Funcs", 
             "FA_VAL": "ABC", 
             "BA_VAL": "bcd", 
             "CLN_VAL": "123",       
             "TE_VAL": "test case name",       
             "RS_VAL": "Passed", 
             "BG_VAL": ""
             },
             {"TC_VAL": "FUNCS", 
             "FA_VAL": "EFG", 
             "BA_VAL": "FGH", 
             "CLN_VAL": "1234",       
             "TE_VAL": "test case name123",       
             "RS_VAL": "Fail", 
             "BG_VAL": ""
             }]

variables = {"TC_VAL": "FUNC", 
             "FA_VAL": "def", 
             "BA_VAL": "cde", 
             "CLN_VAL": "123",       
             "TE_VAL": "test case name",       
             "RS_VAL": "Passed", 
             "BG_VAL": ""
             }


dd_query = """mutation pushData($TC_VAL: String!, $BA_VAL: String!, $CLN_VAL: String!,$FA_VAL: String!, $TE_VAL: String!, $RS_VAL: String!,$BG_VAL: String!)
              {pushData(input: [{
                TC: $TC_VAL,
                BA: $BA_VAL,
                CLN: $CLN_VAL,
                FA: $FA_VAL,
                TE: $TE_VAL, 
                RS: $RS_VAL,
                BG: $BG_VAL
              }])
              {status,message}}"""

result = client.execute(dd_query, variables)

print(result)

0 ответов

Другие вопросы по тегам