如何在 php 中构建 graphql 突变查询请求
How to construct a graphql mutation query request in php
我最难弄清楚如何在 php.
中正确格式化 graphql api 突变 POST 请求
如果我对字符串进行硬编码并将其用作我的 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
.
拒绝的键周围加上双引号
我最终需要一个解决方案,将更大更复杂的数组转换为可用的东西。
重新格式化查询让我可以直接使用 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
用于 POST http 请求。
我最难弄清楚如何在 php.
中正确格式化 graphql api 突变 POST 请求如果我对字符串进行硬编码并将其用作我的 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
.
我最终需要一个解决方案,将更大更复杂的数组转换为可用的东西。
重新格式化查询让我可以直接使用 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
用于 POST http 请求。