Appeler une API derrière Flexway
ConceptDéveloppeursDepuis la version 0.1.0
Guide développeur : ce que voit une application qui appelle une API servie par Flexway - identifiants, protocoles, erreurs, quotas, reprises. Il préfigure le portail développeur (prévu en
1.11.0). La configuration de la passerelle est dans le guide d'exploitation.Côté produit : Flexway en une page ; côté exploitation : Configurer et exploiter Flexway.
Ce que la passerelle fait de votre requête
%%{init: {'theme':'base','themeVariables':{'fontSize':'14px','lineColor':'#94a3b8'}}}%%
graph TB
APP["Votre application"]:::ext
subgraph FW["Flexway"]
R["Route déclarée ?"]:::hub
I["Identité, portées"]:::hub
Q["Débit, quota"]:::hub
V["Validation du contrat"]:::hub
end
UP["API amont"]:::spoke
ERR["Refus RFC 9457"]:::fail
APP --> R --> I --> Q --> V --> UP
R -.->|"404, 405"| ERR
I -.->|"401, 403"| ERR
Q -.->|"429, 503"| ERR
V -.->|"400, 422"| ERR
classDef hub fill:#4f46e5,stroke:#3730a3,color:#fff,font-weight:bold
classDef spoke fill:#0891b2,stroke:#155e75,color:#fff,font-weight:bold
classDef ext fill:#64748b,stroke:#334155,color:#fff,font-weight:bold
classDef fail fill:#ef4444,stroke:#b91c1c,color:#fff,font-weight:bold
| Règle | Ce qu'elle veut dire pour vous |
|---|---|
| Le contrat fait foi | Seules les opérations du contrat (OpenAPI, AsyncAPI, Protobuf) existent. Une route absente répond 404, une méthode absente 405 avec Allow |
| Fermé par défaut | Un en-tête non déclaré est retiré avant l'amont ; un paramètre de requête non déclaré est refusé (400, nommé) ; une origine de navigateur non autorisée est refusée (403) |
| Une seule décision | REST, gRPC, outil MCP ou message : même identité, même quota, même audit |
| Erreurs typées | Toujours application/problem+json (RFC 9457) avec un code stable - sauf /v1/*, au format OpenAI (erreurs) |
| Flux sans retenue | SSE, WebSocket et flux gRPC arrivent au rythme où l'amont les produit |
Les pages de ce guide
| Besoin | Page |
|---|---|
| Obtenir un jeton, une clé ou un certificat | Identifiants |
| Appeler une opération REST, CORS, cache | REST |
| gRPC et gRPC-Web | gRPC |
| Server-sent events et WebSocket | Flux |
| Outils pour agents | MCP |
| Dialogue entre agents | A2A |
| Modèles d'IA compatibles OpenAI | Inférence |
| Publier et s'abonner à des évènements | Canaux asynchrones |
| Recevoir des webhooks | Webhooks signés |
| Producteurs et consommateurs Kafka | Clients Kafka |
| Comprendre un refus | Erreurs |
429, Retry-After, étranglement |
Débit et quotas |
| Rejouer sans dupliquer | Reprises et idempotence |
| Dépréciation et retrait | Versions |