Добро пожаловать в API доставки! Этот API является решением для управления продуктами и продажами в вашем приложении. Построенный с .NET, он обеспечивает спокойный интерфейс для создания и управления продуктами и обработки транзакций продаж. В этом документе представлен обзор конечных точек API доставки, включая подробные описания, параметры запроса и форматы ответов. API включает в себя конечные точки для проверки здоровья, управление продуктами и обработку продаж.
Клонировать репозиторий:
git clone https://github.com/anthonyvii27/delivery-apiИзменение в каталоге хранилища:
cd delivery-apiЗапустите команду, чтобы запустить контейнерную среду:
make compose-up-v2 API будет работать на порте :8080 на вашем компьютере.
Необязательно, в корне этого репозитория существует файл с именем delivery-api.http , который предоставляет простой в использовании интерфейс для выполнения реализованных конечных точек.
GET /healthРезюме : проверяет состояние здоровья API.
Ответы :
200 ОК
" Database connection is healthy. "503 Сервис недоступен
" Database connection isn't available. "500 Ошибка внутреннего сервера
" An error occurred while checking the database connection. "GET /productsРезюме : извлекает все продукты.
Ответы :
[
{
"id" : 1 ,
"name" : " Product Name " ,
"unitOfMeasurement" : " UN " ,
"price" : 9.99
}
]GET /products/{id}Резюме : Получает продукт по его удостоверению личности.
Параметры :
id (целое число): идентификатор продукта для извлечения.Ответы :
200 ОК
{
"id" : 1 ,
"name" : " Product Name " ,
"unitOfMeasurement" : " UN " ,
"price" : 9.99
}404 не найден
{
"message" : " Product with ID {id} not found. "
}POST /productsРезюме : создает новый продукт.
Запросить тело :
{
"name" : " Product Name " ,
"unitOfMeasurement" : " Unit " ,
"price" : 9.99
}Ответы :
201 создан
{
"id" : 1 ,
"name" : " Product Name " ,
"unitOfMeasurement" : " Unit " ,
"price" : 9.99
}400 Плохая просьба
{
"message" : " Validation error messages "
}PUT /products/{id}Резюме : обновляет существующий продукт.
Параметры :
id (целое число): идентификатор продукта для обновления.Запросить тело :
{
"name" : " Updated Product Name " ,
"unitOfMeasurement" : " Updated Unit " ,
"price" : 9.99
}Ответы :
200 ОК
{
"id" : 1 ,
"name" : " Updated Product Name " ,
"unitOfMeasurement" : " Updated Unit " ,
"price" : 9.99
}400 Плохая просьба
{
"message" : " Validation error messages "
}404 не найден
{
"message" : " Product with ID {id} not found. "
}DELETE /products/{id}Резюме : удаляет продукт по его идентификатору.
Параметры :
id (целое число): идентификатор продукта для удаления.Ответы :
204 Нет контента
400 Плохая просьба
{
"message" : " Error message "
}404 не найден
{
"message" : " Product with ID {id} not found. "
}409 конфликт
{
"message" : " Cannot delete the product as it has associated sale items. "
}GET /salesРезюме : Получает все продажи (исторические).
Ответы :
[
{
"id" : 1 ,
"saleDate" : " 2024-08-14T00:00:00Z " ,
"totalAmount" : 100.00 ,
"saleItems" : [
{
"id" : 1 ,
"productId" : 1 ,
"quantity" : 2 ,
"unitPrice" : 50.00
}
]
}
]GET /sales/{id}Резюме : Получает продажу по его удостоверению личности.
Параметры :
id (целое число): идентификатор продажи для извлечения.Ответы :
200 ОК
{
"id" : 1 ,
"saleDate" : " 2024-08-14T00:00:00Z " ,
"totalAmount" : 100.00 ,
"saleItems" : [
{
"id" : 1 ,
"productId" : 1 ,
"quantity" : 2 ,
"unitPrice" : 50.00
}
]
}404 не найден
{
"message" : " Sale with ID {id} not found. "
}POST /salesРезюме : создает новую продажу.
Запросить тело :
{
"saleDate" : " 2024-08-14T00:00:00Z " ,
"zipCode" : " 12345678 " ,
"saleItems" : [
{
"productId" : 1 ,
"quantity" : 2
}
]
}Ответы :
201 создан
{
"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 Плохая просьба
{
"message" : " Validation error messages "
}DELETE /sales/{id}Резюме : удаляет (отменить) продажу по его удостоверению личности.
Параметры :
id (целое число): идентификатор продажи для удаления.Ответы :
204 Нет контента
400 Плохая просьба
{
"message" : " Error message "
}404 не найден
{
"message" : " Sale with ID {id} not found. "
}