2016-07-30 8 views
1

Eine Relay-Mutation ist definiert als "Operationen, die aus Schreibvorgängen im Datenspeicher gefolgt von einem Abruf von geänderten Feldern bestehen.". Was ist mit etwas wie dem Loggen? Ich habe keine formale Definition von Mutationen vs Abfrage gefunden, wie man es in den Protokollen REST POST vs GET vs PUT finden würde. Bin ich richtig, dass man eine Mutation verwenden würde, wenn man möchte, dass Daten modifiziert und zurückgegeben werden, aber wenn ich nur etwas aktualisieren muss, dann ist eine Standardabfrage in Ordnung? Es gibt auch Fälle, in denen ich Daten abrufen kann, aber etwas aktualisiere, das nicht zurückgegeben werden muss.Kann ich eine GraphQL/Relay-Abfrage verwenden, um Daten ohne Abruf zu ändern?

Antwort

0

Eine Relay-Mutation ist definiert als "Operationen, die aus Schreibvorgängen im Datenspeicher gefolgt von einem Abruf von geänderten Feldern bestehen.". Was ist mit etwas wie dem Loggen?

Wenn ich Ihre Verwirrung über Protokollierung verstehen richtig, möchten Sie etwas in Ihrem Server anmelden, aber Sie haben nichts auf Ihrem Client-Seite zu aktualisieren. Sie sollten diese Protokollierungsoperation als Mutation modellieren, wenn Sie GraphQL und Relay für die Protokollierung verwenden möchten. Abfrage ist eigentlich eine schreibgeschützte Operation.

Wenn Protokollierung war ein Tippfehler und Sie bedeuten tatsächlich Login, gibt es durchaus ein paar vorherigen Antworten zur Authentifizierung in Relais- und GraphQL Land. Überprüfen Sie die folgenden SO und Blog-Beiträge:

  1. Relayjs Graphql user authentication
  2. javascript - Authentication and privileges on Relay/GraphQL
  3. api - How do I structure authenticated queries with GraphQL?
  4. node.js - What is a good pattern for implementing access control in a GraphQL server?
  5. graphql - Authentication and Access Control with Relay
  6. node.js - How to check permissions and other conditions in GraphQL query?
  7. relayjs - How to tell the user to log in with relay?
  8. A guide to authentication in GraphQL — Building Apollo — Medium
  9. Auth in GraphQL — Part 2 — Building Apollo — Medium

Ich habe keine formale Definition von Mutationen vs Abfrage als würde man finden in dem REST-POST vs GET vs PUT-Protokolle gefunden.

Von GraphQL draft specification:

There are two types of operations that GraphQL models: 

* query – a read‐only fetch. 
* mutation – a write followed by a fetch. 

Bin ich richtig, dass man eine Mutation verwenden würde, wenn der Wunsch besteht, Daten modifiziert und wieder zu haben, aber wenn ich brauche nur etwas zu aktualisieren, dann eine Standard Abfrage ist in Ordnung?

Nein, das ist falsch. Mutation ist die Operation, die Sie für jede Art von Änderung Ihrer Daten verwenden sollten. Wenn Sie nach dem Update keine Daten abrufen müssen, fügen Sie nichts in die Datei fat query ein. Ab sofort hat GraphQL keinen spezifischen Operationstyp für das Update, ohne dass Daten danach abgerufen werden.

+0

Ich sehe. Ja, es protokolliert wie in einem Protokoll. – cyberwombat