Передать список словарей в качестве входных данных в API GraphQl из python кода - PullRequest
0 голосов
/ 08 апреля 2020

Мой сервер 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...