# API Pizza ## 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 ``` [TEST](http://127.0.0.1:8000?path=pizzas) --- ## Pizza ### GET Renvoie l'ensemble des pizzas, leur catégorie et leurs ingrédients Url : `?path=pizzas` 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" } ] ```