CREATE/UPDATE/DELETE

💡 Les navigateurs ne supportent que GET et POST en natif dans les formulaires. DĂ©couvrez comment gĂ©rer DELETE et PUT. 

Méthode CRUD

Support natif HTML

Solution avec Express

Create (POST)

✅ Oui

<form method="POST">

Read (GET)

✅ Oui

<form method="GET">

Update (PUT)

❌ Non

method-override + POST

Delete (DELETE)

❌ Non

method-override + POST


cours → En action





git final → https://github.com/dupontdenis/CRUD.git

đŸ„· OVERWRITE

👉 On utilise un middleware ! 

L'idée est de transformer POST en PUT

<form action="/resource?_method=PUT" method="POST">
  <button type="submit">Update</button>
</form>

En d’autres termes : le navigateur envoie une requĂȘte POST (car les formulaires HTML ne savent pas envoyer directement du PUT ou du DELETE), mais on ajoute un paramĂštre spĂ©cial🛟 (_method=PUT) soit dans l’URL (_method=PUT), soit dans un <input type="hidden" name="_method" value="PUT"> (pas utilisĂ© dans le code suivant)

Le middleware method-override lit ce paramĂštre et réécrit la mĂ©thode en PUT avant que le routeur Express ne traite la requĂȘte.