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!