GET /cours HTTP/1.1
Mais c’est quoi une application web ?
GET /gp/cart/view.html?ref_=nav_cart
Host: www.amazon.fr
Accept: text/html
User-Agent: Chrome/27.0.1453.110
HTTP/2 200
content-type: text/html; charset=UTF-8
Content-Length: 155
date: Wed, 26 Aug 2020 13:59:36 GMT
<html>...</html>
Verbe | Définition |
---|---|
GET | Lecture d’une ressource |
POST | Création d’une ressources |
PUT | Mise à jour d’une ressource |
DELETE | Suppression d’une ressource |
Headers | Définition |
---|---|
Accept | Format des données attendues |
Content-Type | Format des données envoyées |
Cache-Control | Politique de cache |
Authorization | Token d’authentification |
Origin | L’origine de la consultation |
Headers | Définition |
---|---|
1xx | Informational |
2xx | Success |
200 | Ok |
201 | Created |
3xx | Redirection |
4xx | Client errors |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not found |
5xx | Server errors |
500 | Internal Server Error |
Pourtant ça à l’air compliqué…
GET /pizzas
Host: www.pizzima.fr
Accept: application/json
// Status code 200
[
{id: 1, name: "Classique jambon" },
{id: 2, name: "Bellachô" },
{id: 3, name: "Super veggie" },
...
]
GET /pizzas/42
Host: www.pizzima.fr
Accept: application/json
// Status code 200
{
id: 42,
name: "4 Fromages",
}
POST /pizzas
Host: www.pizzima.fr
Accept: application/json
{
name: "Pepperoni",
description: "Une pizza au pepperoni"
}
// Status code 201
{
id: 50,
name: "Pepperoni",
description: "Une pizza au pepperoni"
}
PUT /pizzas/42
Host: www.pizzima.fr
Accept: application/json
{
name: "5 Fromages",
description: "Une pizza au fromage"
}
// Status code 200
{
id: 42,
name: "5 Fromages",
description: "Une pizza au fromage"
}
DELETE /pizzas/42
Host: www.pizzima.fr
Accept: application/json
// Status code 200
{
id: 42,
name: "5 Fromages",
description: "Une pizza au fromage"
}
GET /pizzas/42/ingredients
Host: www.pizzima.fr
Accept: application/json
// Status code 200
["Sauce tomate", "Mozzarella", "Jambon"]
Ok, mais en Javascript, on fait ça comment ?
app.get('/pizzas', (req, res) => {
const pizzas = pizzaService.findAll()
res.status(200).json(pizzas)
})
app.get('/pizzas/:id', (req, res) => {
const pizza = pizzaService.findOneById(req.params.id)
if(!pizza) return res.status(404).send("Not found")
res.status(200).json(updatedPizza)
})
app.post('/pizzas', (req, res) => {
const newPizza = pizzaService.create(req.body)
res.status(201).json(newPizza)
})
app.delete('/pizzas/:id', (req, res) => {
const removedPizza = pizzaService.delete(req.params.id)
res.status(200).json(removedPizza)
})