Executando verificação de segurança...
1

[DUVIDA] Como fazer validações no Back-end?

Toda vez que vou criar uma aplicação back-end, mais especificamente API REST, eu caio em um "dilema" que é a validação na hora de criar de um usuario por exemplo.

Quando estou criando as validações (se o usuario existe, espacamento e diversas outras coisas) eu caio num mar de if's e eu acho muito feio, creio que não seria o ideal.

Já tentei criar um arquivo separado, uma função só pra isso, mas é só um "disfarce" pois os if's continuarão lá.

Como resolver isso?

Carregando publicação patrocinada...
1

Não sei qual tecnologia você usa no backend, mas no mundo node há ferramentas como o Zod que a partir de um determinado schema você vai eliminar diversos desses ninhos de IFs que você diz sofrer tanto.

Outras validações das regras de negócio podem ser feitas de diversas formas como nos próprios setters, nos controllers, use cases, middlewares... não há apenas um jeito certo de se fazer isso.

1

Cara assim, você não está mais nos anos 90 onde se colocava tudo em um arquivo, se você tem dúvidas sobre como fazer um crud no back-end, da uma pesquisada sobre, principalmente conceitos básicos como MVC e afins, geralmente a validação é feita através do proprio modelo, utilizando principios de solid(não existe somente esta forma), podemos também fazer a validação utilizando DTOs(mas vai de cada um, eu não acho legal fazer no DTO). Por exemplo, uma validação de CPF, eu geralmete coloco na regra de negócio na camada de transição do DTO para um service onde eu recebo os dados e os valido, assim podendo tranformar em meu objeto real e manipular ele a partir da camada de serviço. As validações dependem muito do contexto que você está querendo, em maioria uma lógica é aplicada, mas também um simples if...else resolve. Mas um sistema é construido em camadas, e geralmente validações são feitas em N camadas diferentes, por exemplo em um MVC, antes de enviar os dados a Model para instaciar o objeto, as validações são feitas dentro do proprio endpoint registrado no controller, não existe um jeito coringa, você pode criar validações no proprio modelo para quando ele for instanciado, mas também pode fazer a validação na controller ao receber a requisição. Tudo depende da regra de negócio, outro ponto, existem outras formas de validar algo, mas em sua grande maioria vão ser varios if´s pois o if é uma sentença de controle, e isso é base de todas as linguagens de programação. o que você pode usar são função anônimas para organizar o código, ou colocar uma camada de testes, mas ainda sim vai ser um mar de if...else.

1

Sim, eu vi em uns videos no Youtube sobre algumas arquiteturas, mas arquiteturas é mais do que só organização de pastas. Vou buscar mais sobre o conceito mesmo, obrigado!