Bem -vindo à API de entrega! Esta API é uma solução para gerenciar produtos e vendas em seu aplicativo. Construído com .NET, fornece uma interface RESTful para criar e gerenciar produtos e processar transações de vendas. Este documento fornece uma visão geral dos pontos de extremidade da API de entrega, incluindo descrições detalhadas, parâmetros de solicitação e formatos de resposta. A API inclui pontos de extremidade para verificações de saúde, gerenciamento de produtos e manuseio de vendas.
Clone o repositório:
git clone https://github.com/anthonyvii27/delivery-apiMudar para o diretório do repositório:
cd delivery-apiExecute o comando para iniciar o ambiente de contêiner:
make compose-up-v2 A API estará em execução na porta :8080 no seu computador.
Opcionalmente, na raiz deste repositório, existe um arquivo chamado delivery-api.http que fornece uma interface fácil de usar para executar os pontos de extremidade implementados.
GET /healthResumo : verifica o estado de saúde da API.
Respostas :
200 ok
" Database connection is healthy. "503 serviço indisponível
" Database connection isn't available. "500 Erro do servidor interno
" An error occurred while checking the database connection. "GET /productsResumo : Recupera todos os produtos.
Respostas :
[
{
"id" : 1 ,
"name" : " Product Name " ,
"unitOfMeasurement" : " UN " ,
"price" : 9.99
}
]GET /products/{id}Resumo : Recupera um produto por seu ID.
Parâmetros :
id (número inteiro): o ID do produto para recuperar.Respostas :
200 ok
{
"id" : 1 ,
"name" : " Product Name " ,
"unitOfMeasurement" : " UN " ,
"price" : 9.99
}404 não encontrado
{
"message" : " Product with ID {id} not found. "
}POST /productsResumo : cria um novo produto.
Solicitar corpo :
{
"name" : " Product Name " ,
"unitOfMeasurement" : " Unit " ,
"price" : 9.99
}Respostas :
201 criado
{
"id" : 1 ,
"name" : " Product Name " ,
"unitOfMeasurement" : " Unit " ,
"price" : 9.99
}400 solicitação ruim
{
"message" : " Validation error messages "
}PUT /products/{id}Resumo : atualiza um produto existente.
Parâmetros :
id (número inteiro): o ID do produto a ser atualizado.Solicitar corpo :
{
"name" : " Updated Product Name " ,
"unitOfMeasurement" : " Updated Unit " ,
"price" : 9.99
}Respostas :
200 ok
{
"id" : 1 ,
"name" : " Updated Product Name " ,
"unitOfMeasurement" : " Updated Unit " ,
"price" : 9.99
}400 solicitação ruim
{
"message" : " Validation error messages "
}404 não encontrado
{
"message" : " Product with ID {id} not found. "
}DELETE /products/{id}Resumo : exclui um produto por seu ID.
Parâmetros :
id (Inteiro): o ID do produto a ser excluído.Respostas :
204 Sem conteúdo
400 solicitação ruim
{
"message" : " Error message "
}404 não encontrado
{
"message" : " Product with ID {id} not found. "
}409 conflito
{
"message" : " Cannot delete the product as it has associated sale items. "
}GET /salesResumo : Recupera todas as vendas (históricas).
Respostas :
[
{
"id" : 1 ,
"saleDate" : " 2024-08-14T00:00:00Z " ,
"totalAmount" : 100.00 ,
"saleItems" : [
{
"id" : 1 ,
"productId" : 1 ,
"quantity" : 2 ,
"unitPrice" : 50.00
}
]
}
]GET /sales/{id}Resumo : Recupera uma venda por seu ID.
Parâmetros :
id (Inteiro): o ID da venda para recuperar.Respostas :
200 ok
{
"id" : 1 ,
"saleDate" : " 2024-08-14T00:00:00Z " ,
"totalAmount" : 100.00 ,
"saleItems" : [
{
"id" : 1 ,
"productId" : 1 ,
"quantity" : 2 ,
"unitPrice" : 50.00
}
]
}404 não encontrado
{
"message" : " Sale with ID {id} not found. "
}POST /salesResumo : cria uma nova venda.
Solicitar corpo :
{
"saleDate" : " 2024-08-14T00:00:00Z " ,
"zipCode" : " 12345678 " ,
"saleItems" : [
{
"productId" : 1 ,
"quantity" : 2
}
]
}Respostas :
201 criado
{
"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 solicitação ruim
{
"message" : " Validation error messages "
}DELETE /sales/{id}Resumo : exclui (cancelar) uma venda por seu ID.
Parâmetros :
id (Inteiro): o ID da venda para excluir.Respostas :
204 Sem conteúdo
400 solicitação ruim
{
"message" : " Error message "
}404 não encontrado
{
"message" : " Sale with ID {id} not found. "
}