php 对接Graphql

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

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
最佳答案

@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年前 评论

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