GraphQL Queries and Mutations¶
ESP32-HTTP-Client provides a dedicated, fluent API for GraphQL operations with direct stream-to-variable binding and zero-heap overhead.
Basic Query (POST)¶
#include <WiFi.h>
#include "ESP32HTTPClient.h"
ESP32HTTPClient client("https://api.example.com");
String name;
int id;
void setup() {
Serial.begin(115200);
client.graphql("/graphql")
.query("query { user { id name } }")
.getData("user.id", &id)
.getData("user.name", &name);
if (client.isSuccess()) {
Serial.printf("User: %s (ID: %d)\n", name.c_str(), id);
}
}
Query via HTTP GET¶
According to the GraphQL over HTTP specification, read-only queries can be executed via HTTP GET:
String status;
client.graphqlGet("/graphql")
.query("{ systemHealth }")
.getData("systemHealth", &status);
GraphQL Mutations (POST)¶
Mutations modify server-side data and are executed via HTTP POST: