Requêtes
HTTP & GraphQL
REST classique, params, headers, bodies JSON/raw/form, GraphQL en POST et tests contractuels.
# HTTP
Le mode HTTP couvre REST et tout endpoint requête/réponse. Zapi utilise le moteur Rust reqwest : pas de CORS, pas de proxy navigateur, des timings mesurés côté natif.
name: Lire un utilisateur
kind: http
method: GET
url: "{{baseUrl}}/users/{{userId}}"
pathParams:
- key: userId
value: "42"
enabled: true
description: Identifiant numérique de l’utilisateur
query:
- key: include
value: teams,roles
enabled: true
headers:
- key: Authorization
value: "Bearer {{token}}"
enabled: truequery, pathParams et headers partagent le triplet key / value / enabled, avec une description optionnelle reprise par l’export OpenAPI.
# Bodies JSON, raw et form
body:
type: json
content: |
{ "name": "Ada", "role": "{{role}}" }body:
type: form
form:
- key: grant_type
value: password
enabled: true
- key: password
value: "{{secret:API_PASSWORD}}"
enabled: true# GraphQL
name: Pays par code
kind: graphql
method: POST
url: "{{baseUrl}}/graphql"
body:
type: raw
content: |
query Country($code: ID!) {
country(code: $code) { name capital currency }
}
graphqlVariables: |
{ "code": "{{countryCode}}" }
scripts:
tests: |
test("pays trouvé", () => expect(res.json.data.country.name).toBeDefined())Zapi envoie GraphQL en POST avec un objet { query, variables }. Les variables Zapi sont résolues dans la query, les headers et le JSON de variables.