Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

O servidor não está subindo

Boa noite, eu parei na aula "enviar dados relativos ao pagamento" e agora meu servidor não quer mais subir. Quando tentei fazer o post do json no Postman parou de funcionar. Dei "CTRL C" e executei "nodemon index.js". Agora meu localhost não está funcionando mais. O que pode ter acontecido?

customExpress.js

const express = require('express') // Utilizamos uma string pois nos referimos a uma biblioteca.
const consign = require('consign') // O consign irá agrupar todas as rotas que formos criando dentro do app.
const bodyParser = require('body-parser')
// module.exports exporta uma função, que no caso irá configurar o aplicativo e irá retornar a variável app.
module.exports = () => {
    const app = express()

    app.use(bodyParser.urlencoded ({extended: true}))
    app.use(bodyParser.json)
    // Chamaremos consign() e então iremos incluir 
    // todos os módulos decontrollers dentro (into) de app.
    consign()
        .include('controllers')
        .into(app)

    return app
}

atendimento.js

//exportamos atendimentos.js
module.exports = app => {
    //app.get('/', (req, res) => res.send('Servidor rodando, tudo ok'))
    app.get('/atendimentos', (req, res) => res.send('Você está na rota de atendimentos e está realizando um GET'))
    app.post('/atendimentos', (req, res) => {
        console.log(req.body)
        res.send('Você está na rota de atendimentos e está realizando um POST')
    })
}

index.js

// Exportamos o customExpress
const customExpress = require('./config/customExpress')

// Declaramos que const app é igual a customExpress()
const app = customExpress()

//Inseriremos também a porta que o servidor deve escutar para acessar requisições
app.listen(3000, () => console.log('Servidor rodando na porta 3000'))

//Este arquivo index.js é responsável por subir o servidor

package.json

{
  "name": "projeto-nodejs-rest",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "nodemon index.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/mariannabourges/node-js-api-rest.git"
  },
  "author": "marianna borges",
  "license": "ISC",
  "bugs": {
    "url": "https://github.com/mariannabourges/node-js-api-rest/issues"
  },
  "homepage": "https://github.com/mariannabourges/node-js-api-rest#readme",
  "dependencies": {
    "body-parser": "^1.19.0",
    "consign": "^0.1.6",
    "express": "^4.17.1",
    "nodemon": "^2.0.7",
    "save-dev": "0.0.1-security"
  }
}
5 respostas

Oi Marianna tudo bem? Retorna algum erro ao executar a aplicação no terminal? se sim pode postar o erro? Qual sistema operacional está utilizando ?

Sistema operacional windows. Não aparece erro:


PS C:\Users\Marianna Borges\Desktop\Alura\projeto> nodemon index.js
[nodemon] 2.0.7
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node index.js`
consign v0.1.6 Initialized in C:\Users\Marianna Borges\Desktop\Alura\projeto
+ .\controllers\atendimentos.js
Servidor rodando na porta 3000
solução!

Aparentemente o problema era este em customExpress.js

app.use(bodyParser.json())

Não havia colocado .json().

Opa, encontrei aqui... faltou chamar a função bodyParser.json();

const express = require('express') // Utilizamos uma string pois nos referimos a uma biblioteca.
const consign = require('consign') // O consign irá agrupar todas as rotas que formos criando dentro do app.
const bodyParser = require('body-parser')
// module.exports exporta uma função, que no caso irá configurar o aplicativo e irá retornar a variável app.
module.exports = () => {
    const app = express()

    app.use(bodyParser.urlencoded ({extended: true}))
    app.use(bodyParser.json())
    // Chamaremos consign() e então iremos incluir 
    // todos os módulos decontrollers dentro (into) de app.
    consign()
        .include('controllers')
        .into(app)

    return app
}

rs, não tinha visto sua resposta... isso mesmo!