close
Skip to content

mateusdev2311/Crud-posgres-docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NodeJS OF – API de Usuários

API REST simples em Node.js + Express + Sequelize (PostgreSQL) para CRUD de usuários.

Requisitos

  • Node.js 18+
  • PostgreSQL
  • NPM ou Yarn

Instalação

npm install

Configuração do Banco

  • Ajuste as credenciais em src/config/database.js (dialect, host, username, password, database).

Migrações

# cria as tabelas
npx sequelize-cli db:migrate

Observaçã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.

Executar

node --watch src/server.js
# Servidor em http://localhost:3000

Rotas

  • 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

Exemplos de requests

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/todos

Atualizar 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>

Estrutura principal

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

Notas

  • express.json() e express.urlencoded({ extended: true }) habilitados.
  • Sequelize configurado com underscored: true (timestamps created_at/updated_at).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors