https://github.com/danielfreitassc/e-commerce
https://github.com/danielfreitassc/e-commerce
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/danielfreitassc/e-commerce
- Owner: DanielFreitassc
- Created: 2024-02-28T22:47:39.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-23T02:55:34.000Z (over 1 year ago)
- Last Synced: 2024-10-24T05:33:51.353Z (over 1 year ago)
- Language: Java
- Size: 99.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# API de Produtos para ecommerce
Esta API permite a criação, leitura, atualização e exclusão de produtos. A rota principal é `/product`, com métodos para listar, adicionar, buscar por ID, atualizar e excluir produtos.
### Estrutura do Payload
```json
{
"name": "nome do produto",
"description": "descrição do produto",
"price": 200,
"quantity": 10
}
```
---
## Endpoints
### 1. **Criar Produto**
- **Método:** `POST`
- **Rota:** `/product`
- **Descrição:** Cria um novo produto.
- **Request Body:**
```json
{
"name": "nome do produto",
"description": "descrição do produto",
"price": 200,
"quantity": 10
}
```
- **Response:**
- **Status:** `201 Created`
- **Body:** Retorna os detalhes do produto criado com o ID gerado.
```json
{
"id": 1,
"name": "nome do produto",
"description": "descrição do produto",
"price": 200,
"quantity": 10
}
```
---
### 2. **Listar Todos os Produtos**
- **Método:** `GET`
- **Rota:** `/product`
- **Descrição:** Retorna uma lista de todos os produtos cadastrados.
- **Response:**
- **Status:** `200 OK`
- **Body:** Uma lista de produtos.
```json
[
{
"id": 1,
"name": "nome do produto",
"description": "descrição do produto",
"price": 200,
"quantity": 10
},
{
"id": 2,
"name": "outro produto",
"description": "outra descrição",
"price": 150,
"quantity": 5
}
]
```
---
### 3. **Buscar Produto por ID**
- **Método:** `GET`
- **Rota:** `/product/{id}`
- **Descrição:** Retorna os detalhes de um produto específico, identificado pelo seu ID.
- **Parâmetros de Rota:**
- `id` (obrigatório): O ID do produto a ser buscado.
- **Response:**
- **Status:** `200 OK`
- **Body:** Detalhes do produto.
```json
{
"id": 1,
"name": "nome do produto",
"description": "descrição do produto",
"price": 200,
"quantity": 10
}
```
- **Erro:**
- **Status:** `404 Not Found`
- **Body:** Produto não encontrado.
---
### 4. **Atualizar Produto**
- **Método:** `PUT`
- **Rota:** `/product/{id}`
- **Descrição:** Atualiza os detalhes de um produto específico.
- **Parâmetros de Rota:**
- `id` (obrigatório): O ID do produto a ser atualizado.
- **Request Body:**
```json
{
"name": "nome atualizado",
"description": "descrição atualizada",
"price": 250,
"quantity": 15
}
```
- **Response:**
- **Status:** `200 OK`
- **Body:** Detalhes do produto atualizado.
```json
{
"id": 1,
"name": "nome atualizado",
"description": "descrição atualizada",
"price": 250,
"quantity": 15
}
```
- **Erro:**
- **Status:** `404 Not Found`
- **Body:** Produto não encontrado.
---
### 5. **Excluir Produto**
- **Método:** `DELETE`
- **Rota:** `/product/{id}`
- **Descrição:** Exclui um produto específico identificado pelo seu ID.
- **Parâmetros de Rota:**
- `id` (obrigatório): O ID do produto a ser excluído.
- **Response:**
- **Status:** `200 OK`
- **Body:** Detalhes do produto atualizado.
```json
{
"id": 1,
"name": "nome",
"description": "descrição",
"price": 250,
"quantity": 15
}
```
- **Erro:**
- **Status:** `404 Not Found`
- **Body:** Produto não encontrado.
---
### Códigos de Status Comuns
- **200 OK:** Requisição bem-sucedida.
- **201 Created:** Produto criado com sucesso.
- **204 No Content:** Produto excluído com sucesso.
- **400 Bad Request:** Erro de validação ou dados inválidos.
- **404 Not Found:** Produto não encontrado.
---
Essa documentação cobre todos os métodos CRUD para a API de produtos.