Fala gente, to desesperado, preciso de ajuda pra ONTEM!
Já desenvolvo front-end angular mas tô fazendo uma aplicação que vai precisar de envio de emails, então optei pela umbler para hospedar o node com o angular.
Enfim, eu quero fazer um endpoint que envie os emails, beleza, só que com as rotas do express tá dando erros que não sei resolver!!!
Exemplo, eu não consigo fazer uma requisição GET em um endereço /send por exemplo porque o express exige que você crie um roteamento assim -> app.get(’/*’, function (req, res) então não consigo acessar esse endpoint. Pra conseguir, eu precisaria desativar esse roteamento geral (/*) mas isso causa MAIS PROBLEMAS pois se acessar o site pela URL com a rota (ex: site.com/batata) vai dar uma tela branca escrita “cannot GET /batata”!!
Rapaz, acho que eu tenho a solução pra ti
Na verdade, é uma consideração da própria natureza dos middlewares!
Pois veja, os middlewares são executados na ordem em que são declarados, e a execução de uma request termina sempre naquele que é capaz de responder a request
Então, o que você precisa fazer é declarar o app.get("/send") antes do app.get("/*")
Assim, quando você digitar /send, não importa que há uma rota que aceita todos os GETs. Pois ela não terá a oportunidade de ser executada, já que o /send vai responder antes!
Sério??? poxa vida cara, vou testar e atualizo em 20 minutos!
Edit:
Meu Deus cara!! Sensacional!! Achei que eu ia atrasar muito este projeto por conta disso!
Isso demonstra que é melhor sempre aprender antes sobre novas coisas que estamos trabalhando do que sair por aí metralhando código em tudo!
Você salvou muito tempo e estresse meu amigo! Obrigado! Se quiser entrar em contato privado p/ que eu pague uma cerveja, fique à vontade xD
Então, rs, tudo se resolveu quando fiz uma “limpa” na pasta de arquivos do site, reenviei tudo e voltou a funcionar. Algum conflito no meio do caminho, provavelmente!