REST et APIs
#REST et APIs
Conception d’APIs, ressources, verbes, idempotence, pagination; alternatives (GraphQL, gRPC).
#Principes REST
- Ressources adressables par URL (
/users/42
). - Représentations (
application/json
), sans état (stateless). - Verbes HTTP: GET (lecture), POST (création), PUT/PATCH (mise à jour), DELETE (suppression).
#Bonnes pratiques
- Pluriels cohérents (
/users
,/posts/123/comments
). - Filtres/pagination:
?limit=20&offset=40
ou?page=3&pageSize=20
. - Idempotence: GET/PUT/DELETE idempotents; POST non idempotent.
- Codes HTTP précis (201 création, 204 sans contenu, 400/404/409, 429 rate‑limit).
#Exemples
bg-[rgba(var(--code-inline-bg),0.5)] text-[rgb(var(--fg))] px-1 roundedbg-[rgba(var(--code-inline-bg),0.5)] text-[rgb(var(--fg))] px-1 rounded
1GET /api/users?search=ana2200 OK3{"items":[{"id":1,"name":"Ana"}],"total":1}4 5POST /api/users6{"name":"Ada"}7201 Created8Location: /api/users/2
#Alternatives
- GraphQL: schéma typé, requêtes flexibles; attention au caching et à la complexité.
- gRPC: proto + HTTP/2, efficaces pour services internes.