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)
})