uckelman
(Joel Uckelman)
Agosto 21, 2023, 8:11pm
1
Estou fazendo um POST para /session.json com a carga útil
{
"login": "skroob",
"password": "12345",
"authenticity_token": "..."
}
Quando o login é bem-sucedido, o status é 200 e o JSON retornado é um monte de dados do usuário. Quando o login falha, o JSON retornado se parece com
{"error": "Nome de usuário, e-mail ou senha incorretos"}
mas o status ainda é 200. Isso é um bug? O status para um login falho deveria ser algo >= 400, para indicar uma falha?
1 curtida
maiki
(maiki)
Agosto 21, 2023, 11:04pm
2
Talvez. Eu provavelmente escolheria 401 .
Mas esses também são códigos de status HTTP, para conexões de cliente HTTP; acho que essa nuance leva a decisões como retornar um 200 (“seu POST foi bem-sucedido, aqui está o feedback”).
Não tenho certeza, eu mesmo.
1 curtida
uckelman
(Joel Uckelman)
Agosto 21, 2023, 11:38pm
4
Consigo ver a lógica de um 200 em um login falho, significando que seu login falhou com sucesso , em vez de falhar sem sucesso .
4 curtidas
sam
(Sam Saffron)
Agosto 21, 2023, 11:59pm
5
Lembre-se de que isso também é um pouco um “recurso” no sentido de que confunde os bots que estão tentando fazer login.
Estou indeciso sobre mudar isso. Talvez…
6 curtidas
uckelman
(Joel Uckelman)
Agosto 22, 2023, 1:16pm
6
Não estou pedindo uma mudança. O que eu queria era uma disjunção: uma mudança OU confirmação de que o comportamento é intencional — o que agora tenho. Obrigado!
3 curtidas