2017-03-12 7 views
5

Sie sagten Facebook verwendet GraphLQ seit 2012. Ist Facebooks Graph API mit GraphQL? Wenn nicht, gibt es eine öffentliche Facebook-API, die GraphQL verwendet?Verwendet Facebook Graph API mit GraphQL?

Benötigen wir Versionierung für unsere APIs, wenn wir GraphQL Server verwenden?

Antwort

12

Daniel Scafer von Facebook erwähnte auf der GraphQL Europe Konferenz, dass Facebooks GraphQL API nicht für die Öffentlichkeit zugänglich ist. (Nicht zu verwechseln mit ihrer Graph-API)

Ihre GraphQL-API liefert Daten an alle Facebook-Apps (Android, iOS usw.), und ich glaube nicht, dass Facebook Pläne hat, diese spezifische API öffentlich zu machen.

Sie könnten ihre graph API in GraphQL irgendwann verfügbar machen.

Allerdings, wenn Sie mit einem öffentlichen GraphQL API spielen möchten, können Sie einige finden Sie hier: https://github.com/APIs-guru/graphql-apis/blob/master/README.md

Außerdem, wenn Sie eine GraphQL API mit der Einrichtung zu „fummeln“ wollen Sie Launchpad von Apollo ausprobieren können: https://launchpad.graphql.com

Über Versionierung: Wenn Sie Funktionen Ihren API hinzufügen, müssen Sie nicht auf die Version es. Wenn Sie jedoch eine Datenausgabe drastisch ändern, z. B. die Eliminierung von Feldern, und Sie Clients davon abhängig machen, müssten Sie wahrscheinlich Ihre graphql-API versionieren. Versuchen Sie, dieses Muster zu vermeiden.

Stellen Sie sich GraphQL als ein Client-gestütztes Entwicklungswerkzeug vor. Wenn aktive Clients Felder verwenden, entfernen Sie sie erst aus der API, wenn alle Clients für die Verwendung einiger anderer Felder aktualisiert wurden. Lesen Sie mehr auf Versionierung REST vs GraphQL hier: https://www.symfony.fi/entry/versioning-an-api-in-graphql-vs-rest