uckelman
(Joel Uckelman)
1
/session.json에 다음 페이로드와 함께 POST 요청을 보내고 있습니다.
{
"login": "skroob",
"password": "12345",
"authenticity_token": "..."
}
로그인에 성공하면 상태 코드는 200이 반환되며, JSON 응답에는 사용자 데이터가 포함됩니다. 로그인이 실패하면 반환되는 JSON은 다음과 같은 형태입니다.
{"error": "Incorrect username, email or password"}
하지만 상태 코드는 여전히 200입니다. 이것이 버그인가요? 로그인 실패 시 실패를 나타내기 위해 상태 코드가 400 이상으로 반환되어야 하는 것 아닌가요?
1개의 좋아요
maiki
(maiki)
2

그럴 수도 있겠네요. 저는 아마 401을 사용했을 것 같습니다.
하지만 그것들은 HTTP 클라이언트 연결을 위한 HTTP 상태 코드이기도 하죠. 저는 그런 뉘앙스가 200을 반환하는 결정(“POST 요청은 성공했고, 여기 피드백입니다”)으로 이어진다고 생각합니다.
저도 잘 모르겠네요. 
1개의 좋아요
uckelman
(Joel Uckelman)
4
로그인 실패 시 200을 반환하는 이유를 이해할 수 있습니다. 즉, 로그인이 성공적으로 실패한 것이 아니라 실패에 실패한 상태라는 뜻이니까요. 
4개의 좋아요
sam
(Sam Saffron)
5
이것은 로그인하려는 봇을 혼란스럽게 만드는 측면에서 일종의 "기능"이기도 하다는 점을 염두에 두세요.
이 부분을 변경하는 것에 대해서는 의견이 갈립니다. 아마도…
6개의 좋아요
uckelman
(Joel Uckelman)
6
변경을 요청하는 것이 아닙니다. 제가 원했던 것은 선택지였어요: 변경이든, 혹은 해당 동작이 의도된 것이라는 확인이든요—이제 그 확인을 받았습니다. 감사합니다!
3개의 좋아요