Как построить запрос запроса мутации graphql в переполнении стека

У меня самое сложное время, чтобы выяснить, как правильно отформатировать POST-запрос мутации api graphql в php.

Если я жестко закодирую строку и использую ее в качестве данных в моем запросе POST, она работает следующим образом:
'{"query":"mutation{addPlay(input: {title: \"two\"}){ properties { title } } }"}'

Но если у меня есть массив php входных значений:

$test_data = array(
'title' => 'two'
);

Я не могу отформатировать это правильно. json_encode также помещает двойные кавычки вокруг ключей, которые graphql отклоняет с ошибкой Syntax Error GraphQL request (1:26) Expected Name, found String,

В конечном итоге мне нужно решение, которое преобразует более крупный и сложный массив в нечто полезное.

0

Решение

Переформатирование запроса позволило мне использовать JSON напрямую.

Итак, мой новый запрос выглядит так:

$test_data = array(
'title' => 'two'
);

$request_data = array(
'query' => 'mutation ($input: PlayInput) { addPlay(input: $input) { properties { title } }}',
'variables' => array(
'input' => $test_data,
),
);

$request_data_json = json_encode($request_data);

Тогда $request_data_json используется в запросе HTTP POST.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector