Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Criação de constante com um objeto (método sequeliza)

Bom dia pessoal,

No curso criamos um método para buscar um registro no banco de dados conforme abaixo:

static async pegaUmaPessoa (req, res) {
        const {id} = req.params
        try {
            const umaPessoa = await database.Pessoas.findOne({where: {id: Number(id)}})
            return res.status(200).json(umaPessoa);
        } catch (error) {
            return res.status(500).json(error.message)
        }

    }

Ao criar uma constante id, envolvemos em chaves. É a primeira vez que vejo esse formato. Já testei e não funciona sem as chaves. Ou seja, o objeto tem uma função no código.

Alguém saberia me explicar porque isso está acontecendo?

1 resposta
solução!

Isso se chama desestruturação de objeto. Ou seja, você tem um objeto que é o req.params. Quando você faz uma rota '/person/:id', você tá dizendo que tem um atributo 'ID' dentro do objeto req.params. Aí você precisa buscar esse id pra passar na consulta. Você tem duas maneiras:

const { id } = req.params // Você tá buscando um id dentro do objeto req.params

const id = req.params.id // Você tá pegando também o id e armazenando nessa variável id.

Nesse segundo caso, você precisa pegar req.params.id já que é um objeto e tem um id dentro.

Espero que eu tenha ajudado. Abraço