Solo DataPower API Gateway

Meccanismi di richiesta supportati dagli endpoint GraphQL

API Connect supporta vari meccanismi per l'invio di richieste agli endpoint API proxy GraphQL .

È possibile utilizzare uno dei seguenti meccanismi per inviare richieste agli endpoint /graphql e /graphql/cost su un'API proxy GraphQL :

  • GET: la query GraphQL deve essere specificata in un parametro della query URL chiamato query.
    Ad esempio:
    https://hostname/basepath/graphql?query={accounts(limit:100){name{first,last}}}
    L'esempio seguente include le proprietà variables e operationName, con la codifica URL :
    https://hostname/basepath/graphql?query=query%20fetchAccounts%20($limit:%20Int)%20{accounts(limit:%20$limit)%20{name{first,last}}}&variables={"limit":100}&operationName=fetchAccounts
  • POST con un corpo codificato in JSON: l'intestazione Content-Type deve essere impostata su application/jsone la query GraphQL deve essere inviata nella chiave query dell'oggetto JSON.
    Ad esempio:
    {
      "query": "query fetchAccounts ($limit: Int) {accounts(limit: $limit) {name{first,last}}}",
      "variables": {"limit": 100},
      "operationName": "fetchAccounts"
    }

    variables e operationName sono facoltativi. Per ulteriori informazioni, consultare POST request nella documentazione GraphQL all'indirizzo https://graphql.org/.

  • POST con contenuto graphql: l'intestazione Content-Type deve essere impostata su application/graphql; l'intero corpo di POST viene considerato come la query GraphQL
Nota: per una richiesta inviata a un endpoint /graphql , l'API proxy GraphQL invia sempre la richiesta al server GraphQL di backend come POST con un corpo codificato JSON, quindi il server GraphQL di backend deve supportare questo meccanismo altrimenti la chiamata non riesce.