1 回答

TA貢獻1752條經(jīng)驗 獲得超4個贊
您必須知道您希望收到什么回應。在解析器中,您必須返回一個數(shù)組,因此在您的示例中只需返回一個數(shù)組return $data
。
那么問題來了,你期望什么...
您期望得到一個字符串化的 JSON。然后你可以使用 JSON 標量定義
mll-lab/grpahql-php-scalars
您期望 JS 對象方式的 JSON。然后你必須使用不同的 JSON 標量定義。
對您來說還有一個小改進:查詢和突變不需要@field
指令。如果您將字段的 CamelCased 名稱放置在特定名稱空間中(App\GraphQL\Queries
對于查詢字段和App\GraphQL\Mutations
突變字段。這些是默認值,您可以在配置中更改它們),Lighthouse 可以自動為您找到解析器。
所以對于你的例子你可以簡單地寫
type Mutation {
? ? getJson(data: CustomInput): JSON
}
<?php
namespace App\GraphQL\Mutations;
class GetJson
{
? ? public function __invoke($rootValue, array $args, GraphQLContext $context, ResolveInfo $resolveInfo)
? ? {
? ? ? ? $data = array('msg'=>'hellow world', 'trueorfalse'=>true);
? ? ? ? return $data;
? ? }
}
- 1 回答
- 0 關(guān)注
- 201 瀏覽
添加回答
舉報