php 对接Graphql

如题
最近需要对接一个第三方,对方使用的 GraphQL 请问 php 调用接口应该怎么写?结构什么样?有没有示例提供一下?百度一圈没找到答案,希望大家帮帮忙

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

@kiti 不还意思,我理解错了。目前 PHP 没有比较好的客户端。

可以试试这种办法:

use Illuminate\Support\Facades\Http;

$query = <<<GQL
query {
    user(id: $id) {
        id
        name
        email
    }
}
GQL;

$response = Http::withHeaders([
    'Content-Type' => 'application/json',
])->post('http://graphql.end.point/graphql', [
    'query' => $query
]);


dump($response->json());
3年前 评论
kiti (楼主) 3年前
讨论数量: 4

纯 PHP 开发,使用:graphql-php

Laravel 开发,使用:lighthouse

查看 GraphQL 官方文档 了解更多。

3年前 评论
kiti (楼主) 3年前

@kiti 不还意思,我理解错了。目前 PHP 没有比较好的客户端。

可以试试这种办法:

use Illuminate\Support\Facades\Http;

$query = <<<GQL
query {
    user(id: $id) {
        id
        name
        email
    }
}
GQL;

$response = Http::withHeaders([
    'Content-Type' => 'application/json',
])->post('http://graphql.end.point/graphql', [
    'query' => $query
]);


dump($response->json());
3年前 评论
kiti (楼主) 3年前
sanders

感觉坑还是比较多的,我遇到的主要是在查询效率上和复杂业务逻辑处理上,还有在兼容 relay 标准上也有些问题,比如如何生成 global id 以及 采用 cusor 进行分页。

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!