README.md 4,37 ko
Newer Older
salimkhr's avatar
salimkhr a validé
# API Pizza
salimkhr's avatar
salimkhr a validé
## Lancement

```bash
git clone https://www-apps.univ-lehavre.fr/forge/khraimes/pizza-backend.git

cd pizza-backend

php -S 127.0.0.1: 8000 -t public

```
salimkhr's avatar
salimkhr a validé
[TEST](http://127.0.0.1:8000?path=pizza)
salimkhr's avatar
salimkhr a validé
## Pizza
### GET
Renvoie l'ensemble des pizzas, leur catégorie et leurs ingrédients

Url : `?path=category`

Réponse:

```JSON
[
  {
    "id": 1,
    "name": "Festin de viande",
    "description": "Pour les carnivores, une pizza avec pepperoni et saucisse",
    "price": 14.99,
    "recipeText": "Étalez une généreuse couche de sauce tomate sur la pâte à pizza. Disposez soigneusement des tranches de pepperoni et de saucisse sur la sauce. Saupoudrez abondamment de Mozzarella râpée. Cuisez au four jusqu'à ce que la croûte soit croustillante et que le fromage fonde en une délicieuse harmonie.",
    "category": {
      "id": 2,
      "name": "Amateurs de viande"
    },
    "ingredients": [
      {
        "id": 1,
        "name": "Pepperoni",
        "quantity": 150,
        "unit": "grammes"
      },
      {
        "id": 2,
        "name": "Saucisse",
        "quantity": 100,
        "unit": "grammes"
      },
      {
        "id": 3,
        "name": "Mozzarella râpée",
        "quantity": 200,
        "unit": "grammes"
      },
      {
        "id": 4,
        "name": "Sauce tomate",
        "quantity": 1,
        "unit": "tasse"
      }
    ]
  },
  {
    "id": 2,
    "name": "Margherita",
    "description": "Une pizza classique avec des tomates et du basilic",
    "price": 11.99,
    "recipeText": "Créez une base savoureuse en étalant une généreuse portion de sauce tomate sur la pâte à pizza. Disposez des tranches de tomates fraîches de manière équilibrée. Saupoudrez de Mozzarella râpée et ajoutez des feuilles de basilic frais pour une touche de fraîcheur. Cuisez jusqu'à ce que la croûte soit dorée.",
    "category": {
      "id": 3,
      "name": "Margherita"
    },
    "ingredients": [
      {
        "id": 5,
        "name": "Tomates fraîches",
        "quantity": 2,
        "unit": null
      },
      {
        "id": 6,
        "name": "Mozzarella râpée",
        "quantity": 200,
        "unit": "grammes"
      },
      {
        "id": 7,
        "name": "Basilic frais",
        "quantity": 10,
        "unit": "feuilles"
      },
      {
        "id": 8,
        "name": "Sauce tomate",
        "quantity": 1,
        "unit": "tasse"
      }
    ]
  }
]
```

### POST
Ajoute une nouvelle Pizza

Url : `?path=pizzas`


Paramètres:

```JSON
{
"name": "Festin de viande",
"description": "Pour les carnivores, une pizza avec pepperoni et saucisse",
"price": 14.99,
"recipeText": "Étalez une généreuse couche de sauce tomate sur la pâte à pizza. Disposez soigneusement des tranches de pepperoni et de saucisse sur la sauce. Saupoudrez abondamment de Mozzarella râpée. Cuisez au four jusqu'à ce que la croûte soit croustillante et que le fromage fonde en une délicieuse harmonie.",
"idCategory": 1,
"ingredients":[
{
"name":"Test",
"quantity":150,
"unit":"grammes",
"idPizza":1
}
]
}
```
Réponse:

```JSON
{
"id": "42"
}
```
### PUT
Met à jour une Pizza

Url : `?path=pizzas&idPizza=9`

Paramètres:

```JSON
{
"name": "Festin de viande",
"description": "Pour les carnivores, une pizza avec pepperoni et saucisse",
"price": 14.99,
"recipeText": "Étalez une généreuse couche de sauce tomate sur la pâte à pizza. Disposez soigneusement des tranches de pepperoni et de saucisse sur la sauce. Saupoudrez abondamment de Mozzarella râpée. Cuisez au four jusqu'à ce que la croûte soit croustillante et que le fromage fonde en une délicieuse harmonie.",
"idCategory": 1
}
```
Réponse:

```JSON
{
"message": "Pizza mise à jour avec succès."
}
```
---

## Ingrédient
### GET
Renvoie l'ensemble des ingrédients liés à une Pizza

Url : `?path=ingredients&idPizza=1`

Réponse:

```JSON
[
  {
    "id": 1,
    "name": "Pepperoni",
    "quantity": 150,
    "unit": "grammes"
  },
  {
    "id": 2,
    "name": "Saucisse",
    "quantity": 100,
    "unit": "grammes"
  }
]
```
### POST
Ajoute un nouvel ingrédient à une Pizza

Url : `?path=ingredients&idPizza=1`

Paramètres:

```JSON
{
  "name": "Pepperoni",
  "quantity": 150,
  "unit": "grammes"
}
```
Réponse:

```JSON
{
"id": "42"
}
```
---

## Catégorie
### GET
Url : `?path=category`

Réponse:

```JSON
[
  {
    "id": 1,
    "name": "Végétarienne"
  },
  {
    "id": 2,
    "name": "Amateurs de viande"
  }
]
```