PostgREST - Parce que coder des interfaces CRUD, c'est so 2010

par Korben -

Si vous aimez jouer avec votre base de données PostgreSQL et que vous en avez assez de coder vous-même vos interfaces CRUD (Create, Read, Update, Delete) pour une API par exemple, et bien j’ai un super projet qui va vous soulager autant qu’un gros bon kebab après une implantation capillaire en Turquie !

Cela s’appelle PostgREST et c’est un serveur web totalement autonome capable de transformer votre BDD PostgreSQL en API RESTful. Comme il est plus simple de demander à la base de données de faire des jointures ou de donner des autorisations sur certains objets, que de coder toute une logique métier pour récupérer les données qui vous intéresse, c’est forcement un gros gain de temps !

Et le temps, c’est de l’argent que vous pouvez m’envoyer !

Vous faites vos vues personnalisées dans PostgreSQL et PostgREST s’aligne dessus pour vous proposer l’API qui correspondra parfaitement à votre base. Par exemple, toutes les vues et les tables de la base sont par défaut accessible via l’API. Si vous avez une table qui s’appelle “people”, elle sera alors interrogeable via le chemin suivant :

curl "http://localhost:3000/people"

Et vous pourrez alors filtrer les résultats en spécifiant des conditions sur les colonnes. Par exemple si vous avez une colonne “Student” qui est à True ou False s’il s’agit d’un étudiant, et bien vous pouvez filtrer comme ceci :

curl "http://localhost:3000/people?student=is.true"

Vous avez capté le concept. La documentation est complète et bien faite et vous n’aurez aucun mal à vous lancer grâce aux tutos dispo ici. Et si vous le déployez en production, n’oubliez pas d’aller consulter la page sur le hardening.