API em Node.js + Express + MongoDB para gerenciamento de pedidos (CRUD).
npm installCrie um arquivo .env na raiz do projeto com as variáveis de ambiente necessárias. (PORT e MONGODB_URI)
- Node.js + Express — servidor HTTP
- MongoDB + Mongoose — banco de dados
- Swagger — documentação interativa (
/api-docs)
node src/server.jsSaída esperada:
MongoDB conectado: mongodb://localhost:27017/orders_db
Servidor: http://localhost:3000
Swagger: http://localhost:3000/api-docs
| Método | URL | Descrição |
|---|---|---|
POST |
/order |
Criar pedido |
GET |
/order/list |
Listar todos |
GET |
/order/:orderId |
Buscar por número |
PUT |
/order/:orderId |
Atualizar pedido |
DELETE |
/order/:orderId |
Deletar pedido |
Base URL: http://localhost:3000
A API recebe os dados em português e salva no banco em inglês:
numeroPedido → orderId
valorTotal → value
dataCriacao → creationDate
idItem → productId
quantidadeItem → quantity
valorItem → price
Body (JSON):
{
"numeroPedido": "v10089015vdb-01",
"valorTotal": 10000,
"dataCriacao": "2023-07-19T12:24:11.5299601+00:00",
"items": [{ "idItem": "2434", "quantidadeItem": 1, "valorItem": 1000 }]
}Salvo no MongoDB como:
{
"orderId": "v10089015vdb-01",
"value": 10000,
"creationDate": "2023-07-19T12:24:11.529Z",
"items": [{ "productId": 2434, "quantity": 1, "price": 1000 }]
}src/
├── server.js ← Inicia o Express e conecta ao MongoDB
├── config/
│ ├── database.js ← Conexão com o MongoDB (Mongoose)
│ └── swagger.js ← Configuração do Swagger
├── models/
│ └── Order.js ← Schema do pedido (orderId, value, items...)
├── controllers/
│ └── orderController.js ← CRUD + mapeamento PT → EN
└── routes/
└── orderRoutes.js ← Rotas da API + docs Swagger
- Requisição chega em
/ordercom dados em português - Controller transforma os campos (PT → EN) usando a função
mapear() - Mongoose valida e salva no MongoDB
- Resposta retorna o pedido no formato do banco (inglês)