1-5 Modifier une entrée
Pour modifier un projet, le format d'une requête est le suivant:
PATCH https://{id-projet-supabase}.supabase.co/rest/v1/projets?id=eq.{id}
id-projet-supabase
: votre identifiant de projet
id
: l'identifiant de l'entrée à modifier
Assurez-vous de remplacer l'identifiant de votre projet, {id-projet-supabase}
, par le vôtre.
Obtenir l'id d'un projet
Pour obtenir l'id d'un projet, vous pouvez aller directement dans Supabase à la colonne id
:
Ou encore, à partir de la liste de projets récupérés via l'API et la propriété id
d'un projet:
[
{
"id": 1,
"created_at": "2025-06-06T14:56:28.961561+00:00",
"updated_at": "2025-06-06T14:56:28.961561+00:00",
"nom": "Discreddit",
"description": "Un super projet de session à développer en équipe!",
"image_url": "https://imgur.com/k00Tj9S.png"
},
{
"id": 2,
"created_at": "2025-06-06T14:56:48.988456+00:00",
"updated_at": "2025-06-06T14:56:48.988456+00:00",
"nom": "Lan Party",
"description": "Organisation du Lan Party",
"image_url": null
},
{
"id": 3,
"created_at": "2025-06-06T14:57:08.761115+00:00",
"updated_at": "2025-06-06T14:57:08.761115+00:00",
"nom": "Soirée jeux vidéo",
"description": "Organisation de la soirée jeu vidéo",
"image_url": null
}
]
Créer et exécuter une nouvelle requête
-
Créez une nouvelle requête de type
PATCH
, à l'URL de projets. -
Assurez-vous d'entrer votre clé d'API via un en-tête
apiKey
-
Entrez l'URL pour la requête. Par exemple:
https://{id-projet-supabase}.supabase.co/rest/v1/projets
-
Entrez dans la section
params
la règle pour filtrer en fonction duid
de projet que vous voulez modifier. Par exemple:infoIci, je modifie le
id
1 (eq.1
). Adaptez selon votre cas.
Renseigner le Body
de la requête
Pour modifier un projet, il est nécessaire de fournir le détail de la ressource modifiée.
Tout comme pour la création, on utilise la portion body
de la requête HTTP
afin de fournir ces informations. Postman peut nous aider à renseigner cette portion de la requête.
-
Sous l'onglet
Body
de la requête, sélectionnezraw
etJSON
comme type de données. -
Entrez, au format JSON, les données à soumettre. Par exemple, si on voulait modifier la description:
{
"description": "Une description modifiée"
}infoLorsque vous faites une modification avec
PATCH
, c'est une modification partielle. Cela veut dire que vous pouvez soumettre seulement les informations qui changent. Il n'est pas nécessaire de renvoyer l'objet en entier.. -
Appuyez sur
Send
-
Vous devriez recevoir une confirmation que le projet a bien été créé avec un retour
HTTP
ayant le code204 (No Content)
. -
Vous pouvez même vérifier dans Supabase que votre entrée a été modifiée! 🎉
Obtenir l'entrée modifiée
Si vous avez remarqué, lorsque vous faites une requête PATCH
, le retour est vide, il n'inclut pas l'objet JSON mis à jour.
Pour retourner l'objet JSON nouvellement modifié, vous devez ajouter l'en-tête suivant: Prefer: return=representation
Vous recevrez ainsi un code de retour 200
si le tout est un succès, en plus de l'objet modifié!
Erreurs fréquentes
Erreur 404
Si vous tentez de modifier une entrée pour un id
inexistant, vous recevrez une erreur 404.
Par exemple, PATCH https://zjywabthssmxcftqcyyo.supabase.co/rest/v1/projets?id=eq.99
(je n'ai pas de id
99 de mon côté) retournerait:
HTTP Code: 404
Réponse:
{
"code": "PGRST116",
"details": "The result contains 0 rows",
"hint": null,
"message": "JSON object requested, multiple (or no) rows returned"
}
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": ""
}
Retournerait:
HTTP Code: 400
Réponse:
{
"code": "23514",
"details": "Failing row contains (1, 2025-06-06 14:56:28.961561+00, 2025-06-06 14:56:28.961561+00, , Une description modifiée, https://imgur.com/k00Tj9S.png).",
"hint": null,
"message": "new row for relation \"projets\" violates check constraint \"projets_nom_check\""
}