[Dúvida] Cuidados para tomar com uma API Rest
Olá turma, sou desenvolvedor iOS a alguns anos. Esse ano resolvi estudar um pouco de backend para implementar uma API e poder lançar um produto de fato, de ponta a ponta.
Acabei decidindo por usar Node, TS, Express, Prisma, Jest, Docker, S3, e, futuramente, fazer o deploy na AWS. Pesquisei muito por boas práticas de uma API porém ainda sigo com algumas dúvidas em relação a segurança.
Dei uma olhada no projeto do tabnews porém gostaria de dicas para desempenho e segurança da minha API. Também, aceito sugestões de tutorias para deploy na AWS.
Obrigado desde já.
Eu sou dev PHP, e já montei várias APIs usando Laravel. Mas não vou falar de linguagem ou tecnologia, apenas de conceito.
Uma coisa que é bem importante e eu não consigo desenvolver uma API sem isso, é autenticação por tokens JWT. Se você tiver funcionalidades restritas na sua API (ex.: gerenciamento de usuários), um jeito simples de fazer autenticação e validação dos usuários é com tokens JWT. Dá uma pesquisada sobre isso, é bem simples de entender, usar e implementar. E, com certeza, deve ter algum pacote pronto pra usar no Express (se já não tiver algo nativo rs).
Outra boa prática é se atentar bem aos códigos de status de retorno (200, 201, 400, 404, 422, 500 etc) para as respostas das chamadas na sua API, e também aos métodos usados para fazer as chamadas (GET, POST, PUT, PATCH e DELETE). Com esses dois "recursos" bem implementados, a validação dos retornos no front-end vai ser muito simples (e bonita), e documentações (seja uma collection no Postman ou uma interface com Swagger) vão ser bem mais simples de entender.
Espero que tenha contribuído com alguma coisa :)