Olá devs, tudo bem? Fiquei com dúvida sobre o que a instrutora disse relacionado aos problemas que retornam do "params", entendi a questão do number mas não o resto, poderiam me ajudar?
Olá devs, tudo bem? Fiquei com dúvida sobre o que a instrutora disse relacionado aos problemas que retornam do "params", entendi a questão do number mas não o resto, poderiam me ajudar?
Olá João, tudo bem?
O findOne()
permite que você passe um objeto where
que pode conter várias condições de busca. Por exemplo, se você deseja buscar uma matrícula específica de um estudante, você pode fazer algo assim:
async pegaUmRegistro(where) {
return dataSource[this.model].findOne({ where: { ...where } });
}
No seu controlador, você está recebendo os parâmetros da rota, que são estudanteId
e id
, e precisa garantir que eles estão no formato correto para a busca. Aqui estão os dois desafios mencionados:
Conversão de Strings para Números: Os parâmetros que vêm da URL são strings, mas se os IDs no banco de dados são números, você precisará convertê-los. Isso pode ser feito usando parseInt()
ou Number()
.
Nomenclatura dos Campos: O campo estudanteId
precisa ser convertido para o formato esperado pelo banco de dados, que é estudante_id
. Você pode fazer isso manualmente antes de passar o objeto where
para o método pegaUmRegistro()
.
Ou seja, vai precisar fazer a conversão desses campos para bater com o banco e não ter problemas. Essa conversão é feita na próxima aula, você vai entender melhor.
Espero ter ajudado.