1
resposta

Postman não retorna requisição

Ao realizar a requisição para salvar no banco de dados, o Postman não me retorna nada, fica sempre em "Sending request..."

Conferi os dado na aba "body", selecionei o "raw" e digitei os dados conforme o objeto da aula e deixei como o arquivo como json.

1 resposta

Olá, Bruno! Tudo bem?

Confirme no seu código que você está retornando de fato uma resposta. Por exemplo:

res.status(201).json(atendimento)

Acredito que você irá encontrar no código da instrutora essa variável sendo utilizada nos models. Essa variável, na realidade, surge na rota, pois é criada pelo próprio Express, e no caso deste projeto, nós vamos passando ela pelas camadas (Controllers e Models) até chegar no momento do seu uso. Por isso, confirme que ela está sendo passada corretamente pelas diferentes camadas.

Exemplo do Pet:

// controllers/pets.js

const Pet = require('../models/pets')

module.exports = app => {
    app.post('/pet', (req, res) => { // perceba que res é o segundo parâmetro
        const pet = req.body

        Pet.adiciona(pet, res) // redirecionamos res para o método adiciona()
    })
}
// models/pets.js

    adiciona(pet, res) { // recebemos res
        const query = 'INSERT INTO Pets SET ?'

        uploadDeArquivo(pet.imagem, pet.nome, (erro, novoCaminho) => {
            if (erro) {
                res.status(400).json({ erro }) // retornamos uma resposta de erro
            } else {
                const novoPet = { nome: pet.nome, imagem: novoCaminho }

                conexao.query(query, novoPet, erro => {
                    if (erro) {
                        console.log(erro)
                        res.status(400).json(erro) // outro retorno de resposta de erro
                    } else {
                        res.status(200).json(novoPet) // retornamos uma resposta de confirmação
                    }
                })
            }
        })
    }

Sem essa resposta, o servidor faz a operação, mas não retorna nada para o Postman, que fica aguardando até desistir. Para testar se pode ser realmente um problema apenas de resposta, confirme se a criação é efetuada no seu banco de dados. Se não estiver no banco, então talvez o erro tenha ocorrido antes.

No caso do erro ser outro, você poderia informar se você encontra esse problema em uma rota só, ou em várias? Se for uma rota só, compartilhe aqui o código referente a ela, e também verifique se existe alguma mensagem de erro no terminal que está rodando o servidor, por favor!

Espero ter ajudado!