1
resposta

Postman só exibe as requisições tipo GET, na POST ele está dando um erro n

Para as requisições de POST, PATCH, DELETE ele está dando "Cannot POST, PATCH, DELETE /livros".

Segue os codigos: App.js:

const express = require("express")
const rotaLivro = require("./rotes/livro")

const app = express()

app.use('/livros', rotaLivro)

const port = 8000

app.listen(port, () => {
  console.log(`Escutando a porta ${port}`)
})

livro.js

const { Router } = require("express")

const router = Router()

router.get('/', (req, res) => {
    res.send('Olá mundo da Alura do Brasil!')
})

router.post('/', (req, res) => {
    res.send('Você fez uma requisição do tipo POST')
})

module.exports = router

Segue o link do projeto no drive: https://drive.google.com/drive/folders/1fHoCieg8j-cpkKog6MIhNJS-jHoCdywh?usp=sharing

1 resposta

Olá, Luis! Tudo bem?

Ao olhar seu código e rodar ele, tudo parece estar correto para lidar com as requisições GET e POST. Implementei as outras como o PUT, PATCH e DELETE e funcionaram sem problemas.

O seu arquivo livro.js com as outras implementações que comentei devem estar assim:

const { Router } = require("express")

const router = Router()

router.get('/', (req, res) => {
    res.send('Olá mundo da Alura do Brasil!')
})

router.post('/', (req, res) => {
    res.send('Você fez uma requisição do tipo POST')
})

router.put('/', (req, res) => {
    res.send('Você fez uma requisição do tipo PUT')
})

router.patch('/', (req, res) => {
    res.send('Você fez uma requisição do tipo PATCH')
})

router.delete('/', (req, res) => {
    res.send('Você fez uma requisição do tipo DELETE')
})

module.exports = router

Notei que você não tem um script no seu arquivo "package.json" para executar o código com o nodemon então caso você tenha executado o projeto usando o apenas o comando node app.js ao fazer uma atualização no código o projeto não será renicializado.

Então recomendo mudar a seção de scripts do arquivo "package.json" para que fique assim:

  "scripts": {
    "start": "nodemon app.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  },

Para executar esse script você pode usar o comando npm run start.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.