No endpoint GET users/
quando nao tem usuários, o correto seria 404 ou 200 com json vazio.
Boa observação, acabei não descrevendo os principais códigos de status de cada verbo HTTP. Segue o link para quem tiver interesse.
Esse é um ponto que gera bastante discussão. Do ponto de vista de práticas que o mercado costuma adotar, responder com 404 não é muito usado nesse tipo de caso principalmente porque muitas vezes o client não está preparado pra lidar com o erro que o 404 representa (ou lida com ele de forma errada).
Eu, particularmente, sempre vou na opção 200 com um array vazio.
Um 204 não faria mais sentido do que um 200 com json vazio?
Eu fiz retornando 404, mas depois que fiz o front e consumi a API, percebi que se fosse um 200 com json vazio mais pratico implementar