PostgREST : Ajoutez des API REST facilement à votre base PostgreSQL !
Vous avez besoin d'exposer rapidement une base de données PostgreSQL sous forme d'API REST ?
Vous souhaitez éviter développer des services CRUD sans valeur métier ... PostgREST est fait pour vous !
PostgREST est un middleware OpenSource permettant d'exposer une base de données PostgreSQL sous forme d'API REST directement consommables par des applications mobiles, des portails Web ou bien des partenaires.
La bonne nouvelle est que les API exposées par PostgREST sont au format Open API.
L'autre bonne nouvelle est que PostgREST gère nativement les dépendances entre les tables de votre modèle de données, ce qui vous permet au travers d'une simple requête REST de récupérer des données provenant d'une jointure entre deux tables.
GET /films?select=title,directors(id,last_name) HTTP/1.1
[
{ "title": "Workers Leaving The LumiC(re Factory In Lyon",
"directors": {
"id": 2,
"last_name": "LumiC(re"
}
},
{ "title": "The Dickson Experimental Sound Film",
"directors": {
"id": 1,
"last_name": "Dickson"
}
},
{ "title": "The Haunted Castle",
"directors": {
"id": 3,
"last_name": "MC)liC(s"
}
}
]
Mais cela ne s'arrête pas là ! PostgREST supporte aussi des API au format CSV, le JWT comme mode d'authentification, la pagination de données ... etc
PostgREST possède pas moins de 10 000 étoiles sur GitHub et 400 forks. Les tests de performance de PostgREST sur l'instance gratuite d'Heroku ont permis de monter à 2000 appels d'API par seconde.
C'est une alternative intéressante à une base NoSQL / GraphQL nativement exposée en API si vous avez besoin de garder un modèle relationnel. Dommage que ce middleware ne soit pas disponible en standard dans les dépôts de package des grandes distributions Linux.