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 :)
Com certeza contribuiu algo. Sim, estou usando jwt para autenticação. Trazendo um exemplo:
Tenho uma rota DELETE /users/{userID}, a melhor forma de garantir que o usuário só pode deletar ele mesmo é checar o id do jwt com o id recebido como parametro?
Sobre os retornos, sim estou prezando bastante pelos códigos corretos. Retornar erro com 200 é triste kkkkkkkkk Acharia uma boa ter um padrão de retornar sempre no JSON a mensagem, o status (código), e o dado (data) ou somente retornar status e mensagem em caso de erro?