API REST simples em Node.js + Express + Sequelize (PostgreSQL) para CRUD de usuários.
- Node.js 18+
- PostgreSQL
- NPM ou Yarn
npm install- Ajuste as credenciais em
src/config/database.js(dialect, host, username, password, database).
# cria as tabelas
npx sequelize-cli db:migrateObservação ESM: se o sequelize-cli reclamar de module is not defined, converta as migrações para ESM (export default) ou execute o CLI em ambiente CommonJS.
node --watch src/server.js
# Servidor em http://localhost:3000- POST
POST /usuarios/cadastro– cria usuário - GET
GET /usuarios/todos– lista usuários - PUT
PUT /usuarios/atualizar/:id– atualiza usuário por id (parcial) - DELETE
DELETE /usuarios/deletar/:id– remove usuário por id
Criar (JSON):
curl -X POST http://localhost:3000/usuarios/cadastro \
-H "Content-Type: application/json" \
-d '{"name":"Ana","age":25,"email":"ana@example.com"}'Criar (form-urlencoded):
curl -X POST http://localhost:3000/usuarios/cadastro \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "name=Ana&age=25&email=ana@example.com"Listar:
curl http://localhost:3000/usuarios/todosAtualizar parcialmente:
curl -X PUT http://localhost:3000/usuarios/atualizar/<ID> \
-H "Content-Type: application/json" \
-d '{"name":"Novo Nome","age":30}'Deletar:
curl -X DELETE http://localhost:3000/usuarios/deletar/<ID>src/
server.js # App Express, middlewares, rotas
routes.js # Definição das rotas
controllers/userController.js
models/User.js # Modelo Sequelize
config/database.js # Config Sequelize
database/migrations/ # Migrações
express.json()eexpress.urlencoded({ extended: true })habilitados.- Sequelize configurado com
underscored: true(timestampscreated_at/updated_at).