API PostgREST

API REST auto-générée depuis vos tables PostgreSQL

Activez PostgREST sur n'importe quel serveur de base de données PostgreSQL et obtenez instantanément des endpoints CRUD. Pas de code backend, pas d'ORM, pas de code répétitif. Votre schéma est votre API.

Interrogez votre API avec du HTTP standard

# List users with filtering
curl https://myapp-api.sh0.app/users?select=name,email&role=eq.admin
# Insert a record
curl -X POST https://myapp-api.sh0.app/todos \
-H "Content-Type: application/json" \
-d '[object Object]'
# Joins via resource embedding
curl https://myapp-api.sh0.app/orders?select=id,total,customer(name,email)

Tout ce qu'il faut pour une API REST

PostgREST transforme votre base de données en un serveur API complet sans aucune configuration.

Générée automatiquement depuis le schéma

PostgREST introspecte vos tables, vues et fonctions PostgreSQL pour générer automatiquement une API REST complète. Aucune étape de génération de code nécessaire.

Filtrage, pagination et jointures

Opérateurs de requête intégrés : eq, gt, lt, like, in, is et bien d'autres. Inclusion de ressources pour les jointures par clé étrangère. Pagination par offset et curseur incluse.

Spécification OpenAPI

Chaque instance PostgREST expose une spécification OpenAPI en direct à sa racine. Importez-la dans Postman, générez des SDK clients ou alimentez votre système de documentation.

Activation en un clic

Sélectionnez n'importe quel serveur de base de données PostgreSQL dans votre tableau de bord sh0 et activez PostgREST d'un simple clic. Configuration automatique, SSL automatique.

Sécurité au niveau des lignes

Exploitez les politiques RLS de PostgreSQL pour contrôler l'accès au niveau des lignes. PostgREST transmet les revendications JWT comme contexte de rôle pour que vos politiques fonctionnent directement.

Domaine Auto-SSL

Chaque instance PostgREST obtient son propre sous-domaine avec HTTPS automatique via Caddy. Connectez-vous depuis n'importe quel frontend ou application mobile en toute sécurité.

Comment ça fonctionne

01

Créer un serveur PostgreSQL

Provisionnez un serveur de base de données PostgreSQL depuis le tableau de bord sh0. Toute version de 14 à 17.

02

Concevoir votre schéma

Créez des tables, des vues et des fonctions dans votre base de données. Utilisez le terminal intégré ou n'importe quel client PostgreSQL.

03

Activer PostgREST

Activez PostgREST pour votre serveur de base de données. sh0 déploie une instance PostgREST gérée et la connecte automatiquement.

04

Interroger via REST

Votre API est en ligne. Utilisez les méthodes HTTP standard (GET, POST, PATCH, DELETE) avec de puissants paramètres de requête.

Flux de requête

Requête HTTP
Caddy (SSL)
PostgREST
PostgreSQL
Réponse JSON

PostgREST se connecte directement à PostgreSQL. Aucun serveur applicatif entre les deux.

Sans PostgREST

  • x Écrire des routes CRUD pour chaque table
  • x Maintenir les modèles ORM et les migrations
  • x Implémenter le filtrage, le tri, la pagination
  • x Rédiger la documentation API manuellement
  • x Déployer et dimensionner un serveur API séparé
  • x Garder le schéma et l'API synchronisés

Avec sh0 + PostgREST

  • API auto-générée depuis votre schéma
  • Le schéma est la source unique de vérité
  • Filtrage, tri, pagination intégrés
  • Spécification OpenAPI générée automatiquement
  • Déploiement en un clic avec Auto-SSL
  • Sécurité au niveau des lignes via PostgreSQL RLS

Questions fréquentes

Dois-je écrire du code backend ? +
Non. PostgREST génère l'API directement depuis votre schéma PostgreSQL. Vous définissez les tables, les vues et les politiques RLS -- PostgREST gère la couche HTTP.
Puis-je utiliser PostgREST avec une base de données existante ? +
Oui. Activez PostgREST sur n'importe quel serveur de base de données PostgreSQL géré par sh0. Il introspecte votre schéma existant et l'expose immédiatement.
Comment l'authentification est-elle gérée ? +
PostgREST utilise des jetons JWT. Vous pouvez le coupler avec le service d'authentification sh0 (Logto) pour une authentification complète, ou utiliser n'importe quel émetteur JWT. Les revendications du jeton sont transmises comme contexte de rôle PostgreSQL pour RLS.
Qu'en est-il des performances ? +
PostgREST est écrit en Haskell et est extrêmement rapide. Il se connecte directement à PostgreSQL via un pool de connexions et ajoute une surcharge minimale à vos requêtes.
Puis-je n'exposer que certaines tables ? +
Oui. PostgREST n'expose que les schémas que vous configurez (par défaut : public). Utilisez les rôles PostgreSQL et les instructions GRANT pour contrôler exactement quelles tables et opérations sont disponibles.
Est-ce une alternative à Supabase ? +
PostgREST est la même technologie de base qui alimente l'API auto-générée de Supabase. Combiné avec l'authentification, le temps réel, les fonctions et le stockage de sh0, vous obtenez un BaaS auto-hébergé complet.

Transformez votre base de données en API

Arrêtez d'écrire du CRUD répétitif. Activez PostgREST et livrez votre frontend plus vite.