Aller au contenu principal

1-3 Créer une entrée

Pour créer un projet, le format d'une requête est le suivant:

POST https://{id-projet-supabase}.supabase.co/rest/v1/projets

info

Assurez-vous de remplacer l'identifiant de votre projet, {id-projet-supabase}, par le vôtre.

Créer et exécuter une nouvelle requête

Créez une nouvelle requête de type POST, à l'URL de projets, tout en vous assurant d'entrer votre clé d'API dans une entrée d'en-tête apiKey.

img

Renseigner le Body de la requête

Pour créer un projet, il est nécessaire de fournir quelques informations, dont à tout de moins le nom et la description de ce dernier!

Pour ce faire, on utilise la portion body de la requête HTTP. Postman peut nous aider à renseigner cette portion de la requête.

  1. Sous l'onglet Body de la requête, sélectionnez raw et JSON comme type de données. img

  2. Entrez, au format JSON, les données à soumettre. Le format est le suivant:

    {
    "nom": "Nouveau projet",
    "description": "Un nouveau projet créé par API!"
    }

    img

    info

    Lors d'un envoi de données à Supabase, le contenu du corps de la requête (body) doit être un objet JSON contenant les données requises des différentes colonnes.

  3. Appuyez sur Send

  4. Vous devriez recevoir une confirmation que le projet a bien été créé avec un retour HTTP ayant le code 201 (Created). img

  5. Vous pouvez même vérifier dans Supabase qu'une nouvelle entrée a été créée! 🎉 img

party

Obtenir l'entrée créée

Si vous avez remarqué, lorsque vous faites une requête POST, le retour est vide, il n'inclut pas l'objet JSON créé.

Pour retourner l'objet JSON nouvellement créé, vous devez ajouter l'en-tête suivante: Prefer: return=representation

img

Vous recevrez ainsi un code de retour 201 si le tout est un succès, en plus de l'objet créé!

Cependant, l'entrée est retournée sous forme de tableau.

Tout comme dans la section précédente, vous pouvez ajouter l'en-tête Accept: application/vnd.pgrst.object+json

Pour cela, à partir de l'onglet Headers, décochez l'option par défaut Accept et créez-en une supplémentaire avec la valeur application/vnd.pgrst.object+json.

img

Erreurs potentielles

Champs requis

Certains champs sont requis lors de la création. Par exemple, un nom doit être fourni au projet.

Essayons la même requête, sans fournir de nom. Dans ce cas, vous obtiendrez 400 (Bad Request) comme code HTTP et une brève description de l'erreur.

img

L'erreur peut vous aider. Par exemple:

{
"code": "23502",
"details": "Failing row contains (5, 2025-06-09 15:38:20.063116+00, 2025-06-09 15:38:20.063116+00, null, Un nouveau projet créé par API!, null).",
"hint": null,
"message": "null value in column \"nom\" of relation \"projets\" violates not-null constraint"
}

La portion message est particulièrement utile puisqu'elle vous indique qu'une valeur null (vide) a été envoyée et cela n'est pas autorisé, il doit obligatoirement avoir un nom au projet pour le créer.

Erreur de validation

Si jamais vous tentez de soumettre un format de données non conforme à ce qui est attendu, vous recevrez une réponse Bad request.

Par exemple, modifier pour un nom vide:

{
"nom": "",
"description": "Un nouveau projet créé par API!"
}

Retournerait:

HTTP Code: 400 Réponse:

{
"code": "23514",
"details": "Failing row contains (8, 2025-06-09 18:58:41.413555+00, 2025-06-09 18:58:41.413555+00, , Un nouveau projet créé par API!, null).",
"hint": null,
"message": "new row for relation \"projets\" violates check constraint \"projets_nom_check\""
}