flexway
FRENParler à un expert

Appeler une opération REST

GuideDéveloppeursDepuis la version 0.1.0

Markdown

Sur cette page

Ce qui passe, ce qui est retiré, ce qui est refusé, et les en-têtes que la passerelle ajoute à la réponse.

Côté produit : Passerelle d'API ; côté exploitation : Servir sa première API.

La requête

Élément Traitement
En-têtes déclarés par le contrat Relayés
En-têtes du protocole (Accept*, Content-*, If-*, Range, Cache-Control, Idempotency-Key, traceparent, X-Request-Id, User-Agent) Relayés
Authorization Relayé vers une opération sécurisée ; une clé d'API ne l'est jamais
Autre en-tête Retiré, sans erreur
Forwarded, X-Forwarded-* Réécrits par la passerelle ; les vôtres sont ignorés
Paramètre de requête non déclaré 400 malformed_request, le paramètre nommé
Corps ou paramètre hors schéma 422 invalid_request ; l'extension errors nomme chaque champ
Corps trop gros 413 payload_too_large
{
  "type": "https://flexway.dev/problems/invalid_request",
  "title": "The request does not match the contract",
  "status": 422,
  "code": "invalid_request",
  "errors": [ { "field": "body.quantity", "rule": "must be >= 1", "code": "minimum" } ],
  "trace_id": "4bf92f3577b34da6a3ce929d0e0e4736"
}

Corrélation

Envoyez traceparent (W3C) pour joindre votre trace à celle de la passerelle, et X-Request-Id pour un identifiant à vous : ils sont relayés à l'API, et un refus les rend dans trace_id et request_id. Citez-les dans un ticket - le détail est dans le journal de l'exploitant.

CORS

Une application de navigateur sur une autre origine doit être autorisée par l'exploitant. Une origine non autorisée reçoit 403 ; la pré-requête OPTIONS est traitée par la passerelle. Pour gRPC-Web, voir gRPC.

Cache

En-tête de réponse Sens
Flexway-Cache: hit et Age Servi par le cache de la passerelle, l'API n'a pas été appelée
Flexway-Cache: miss Relayé, et proposé au cache
304 Not Modified Votre If-None-Match correspond à l'ETag gardé

Un succès de cache compte quand même dans votre débit et votre quota. Seules les opérations qui le déclarent sont cachées ; une réponse authentifiée ne l'est que par tenant et par personne.

Dégradation annoncée

Flexway-Degraded dit qu'une réponse est servie en mode dégradé : circuit-open (l'amont est coupé), upstream-saturated, shedding (sur un 503 overloaded), backend-fallback (inférence servie par un backend de repli). Ce n'est pas une erreur ; journalisez-le.

Étapes suivantes