Bonjour,
j'aurai voulu quelques informations concernant l'architecture REST car je suis encore un peu perdu. J'ai beaucoup lu dessus, mais ce que je ne comprend pas c'est comment notre serveur va détecter s'il s'agit d'une action de suppression etc ?
On peut tout aussi bien créer une route (ici slim ou autre framework ) comme ça :
$app->get('/produit/delete/5');
plutôt que comme ça :
$app->delete('/produit/delete/5');
J'avoue manquer d'expérience en back-end, donc je suis perdu
Lorsque tu crées ta requête HTTP, tu vas y inclure le verbe dans son header. PHP est capable de récupérer le verbe (ainsi que n'importe quel element inclus dans la requete).
Voici par exemple comment CakePHP gère la reconnaissance de ton verbe : http://book.cakephp.org/2.0/en/controllers/request-response.html#inspecting-the-request
Tu peux voir le verbe si tu ouvres Le developer tools avec l'onglet Network. http://s23.postimg.org/9gox9vqvv/Screen_Shot_2015_10_28_at_13_10_06.png
Il y a deux choses a comprendre ici :
/produit/delete/5
tu indiques au serveur de lancer l'action delete
dans le controller produit
avec l'id 5
.le verbe : GET
ou DELETE
Concernant la route, il s'agit des pratiques de ton framework.
Concernant le verbe, il s'agit d'une bonne pratique. Beaucoup de framework ne comprennent que le GET et le POST, mails il y a aussi le PUT et le DELETE.
Voici le cas d'usage de chaque verbe :
Les utiliser proprement permettra d'autodocumenter ton API et de pouvoir avoir plus de protection car tu peux rejeter des requetes si le verbe n'est pas bon.
Merci de tes informations PrBaron (on ne t'a pas vu depuis quelques temps !).
Tu dis beaucoup de framework ne comprennent que le GET et le POST, mails il y a aussi le PUT et le DELETE. .
Ma dernière question est : comment le framework / serveur reconnait que la requête est de type get, post ou encore delete ?