2
respostas

Como fazer a conversão de string?

A professora optou pelo caminho mais fácil mexendo no parêmetro da rota que estava com camelCase que era "estudanteId" e resolveu trocar por "estudante_id" para ficar de acordo com a coluna da tabela do banco, mas ela disse que teria um outro jeito para deixar em camelCase e fazer conversões de string usando herlper functions. Poderia me mostrar o passo a passo de como seria feito essa conversão e tudo que teria que mexer no código para funcionar?

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
2 respostas

Olá, Luidi! Como vai?

Para fazer a conversão de strings, como no caso de transformar estudanteId em estudante_id, você pode usar funções auxiliares (helper functions) para realizar essa tarefa. Aqui está um passo a passo de como você poderia implementar essa conversão:

  1. Criar uma função de conversão: Você pode criar uma função que converte strings de camelCase para snake_case. Veja um exemplo:

    function camelToSnake(str) {
      return str.replace(/([a-z])([A-Z])/g, '$1_$2').toLowerCase();
    }
    

    Essa função usa uma expressão regular para encontrar letras maiúsculas e as substitui por um underscore seguido da letra em minúsculo.

  2. Integrar a função na sua aplicação: Você pode usar essa função sempre que precisar converter os parâmetros da rota antes de usá-los no seu código. Por exemplo, ao receber req.params:

    router.get('/pessoas/:estudanteId/matriculas', (req, res) => {
      const estudante_id = camelToSnake(req.params.estudanteId);
      // Use estudante_id no restante do seu código
      pessoaController.pegaMatriculasAtivas(estudante_id, res);
    });
    
  3. Modificar o código para usar a conversão: Sempre que você estiver lidando com parâmetros que precisam ser convertidos, utilize a função camelToSnake para garantir que eles estejam no formato correto antes de serem usados nas consultas ao banco de dados ou em outras partes do seu código.

Ao implementar essa função, você pode manter os nomes dos parâmetros em camelCase e convertê-los conforme necessário, em vez de alterar diretamente os nomes das rotas ou os parâmetros. Isso pode ajudar a manter a consistência no seu código e facilitar a manutenção.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

1)Mas seria melhor fazer assim, criando essa função helper ou apenas mudar no parâmetro? Parece mais fácil mudar o nome no parâmetro e o problema está resolvido ou não?
2)Se for usar essa função helper, não seria melhor em vez de criar ela, usar uma biblioteca que já faça isso? Pergunto isso pq tenho dúvida de quando criar uma função helper ou apenas usar uma biblioteca pronta.