Bienvenue à l'API de livraison! Cette API est une solution pour gérer les produits et les ventes dans votre application. Construit avec .NET, il fournit une interface reposante pour créer et gérer les produits et traiter les transactions de vente. Ce document donne un aperçu des points de terminaison de l'API de livraison, y compris des descriptions détaillées, des paramètres de demande et des formats de réponse. L'API comprend des points de terminaison pour les contrôles de santé, la gestion des produits et la gestion des ventes.
Clone le référentiel:
git clone https://github.com/anthonyvii27/delivery-apiChanger dans le répertoire du référentiel:
cd delivery-apiExécutez la commande pour démarrer l'environnement conteneurisé:
make compose-up-v2 L'API s'exécutera sur le port :8080 sur votre ordinateur.
Facultativement, dans la racine de ce référentiel, il existe un fichier nommé delivery-api.http qui fournit une interface facile à utiliser pour exécuter les points de terminaison implémentés.
GET /healthRésumé : vérifie l'état de santé de l'API.
Réponses :
200 ok
" Database connection is healthy. "503 Service indisponible
" Database connection isn't available. "Erreur de serveur interne 500
" An error occurred while checking the database connection. "GET /productsRésumé : récupère tous les produits.
Réponses :
[
{
"id" : 1 ,
"name" : " Product Name " ,
"unitOfMeasurement" : " UN " ,
"price" : 9.99
}
]GET /products/{id}Résumé : récupère un produit par son identifiant.
Paramètres :
id (entier): l'ID du produit à récupérer.Réponses :
200 ok
{
"id" : 1 ,
"name" : " Product Name " ,
"unitOfMeasurement" : " UN " ,
"price" : 9.99
}404 introuvable
{
"message" : " Product with ID {id} not found. "
}POST /productsRésumé : Crée un nouveau produit.
Corps de demande :
{
"name" : " Product Name " ,
"unitOfMeasurement" : " Unit " ,
"price" : 9.99
}Réponses :
201 créé
{
"id" : 1 ,
"name" : " Product Name " ,
"unitOfMeasurement" : " Unit " ,
"price" : 9.99
}400 MAUVAISE DEMANDE
{
"message" : " Validation error messages "
}PUT /products/{id}Résumé : met à jour un produit existant.
Paramètres :
id (entier): l'ID du produit à mettre à jour.Corps de demande :
{
"name" : " Updated Product Name " ,
"unitOfMeasurement" : " Updated Unit " ,
"price" : 9.99
}Réponses :
200 ok
{
"id" : 1 ,
"name" : " Updated Product Name " ,
"unitOfMeasurement" : " Updated Unit " ,
"price" : 9.99
}400 MAUVAISE DEMANDE
{
"message" : " Validation error messages "
}404 introuvable
{
"message" : " Product with ID {id} not found. "
}DELETE /products/{id}Résumé : Supprime un produit par son identifiant.
Paramètres :
id (entier): l'ID du produit à supprimer.Réponses :
204 Aucun contenu
400 MAUVAISE DEMANDE
{
"message" : " Error message "
}404 introuvable
{
"message" : " Product with ID {id} not found. "
}409 conflit
{
"message" : " Cannot delete the product as it has associated sale items. "
}GET /salesRésumé : récupère toutes les ventes (historiques).
Réponses :
[
{
"id" : 1 ,
"saleDate" : " 2024-08-14T00:00:00Z " ,
"totalAmount" : 100.00 ,
"saleItems" : [
{
"id" : 1 ,
"productId" : 1 ,
"quantity" : 2 ,
"unitPrice" : 50.00
}
]
}
]GET /sales/{id}Résumé : récupère une vente par son identifiant.
Paramètres :
id (entier): l'ID de la vente à récupérer.Réponses :
200 ok
{
"id" : 1 ,
"saleDate" : " 2024-08-14T00:00:00Z " ,
"totalAmount" : 100.00 ,
"saleItems" : [
{
"id" : 1 ,
"productId" : 1 ,
"quantity" : 2 ,
"unitPrice" : 50.00
}
]
}404 introuvable
{
"message" : " Sale with ID {id} not found. "
}POST /salesRésumé : Crée une nouvelle vente.
Corps de demande :
{
"saleDate" : " 2024-08-14T00:00:00Z " ,
"zipCode" : " 12345678 " ,
"saleItems" : [
{
"productId" : 1 ,
"quantity" : 2
}
]
}Réponses :
201 créé
{
"id" : 1 ,
"saleDate" : " 2024-08-14T00:00:00Z " ,
"totalAmount" : 100.00 ,
"saleItems" : [
{
"id" : 1 ,
"productId" : 1 ,
"quantity" : 2 ,
"unitPrice" : 50.00 ,
"product" : {
"id" : 1 ,
"name" : " Product Name " ,
"unitOfMeasurement" : " Unit " ,
"price" : 50.00
}
}
]
}400 MAUVAISE DEMANDE
{
"message" : " Validation error messages "
}DELETE /sales/{id}Résumé : Supprime (annuler) une vente par son identifiant.
Paramètres :
id (entier): l'ID de la vente à supprimer.Réponses :
204 Aucun contenu
400 MAUVAISE DEMANDE
{
"message" : " Error message "
}404 introuvable
{
"message" : " Sale with ID {id} not found. "
}