views.py를 이용해 회원가입 기능과 로그인 기능을 구현후에 httpie를 이용해 직접 로그인을 진행해 보면서 어떤 에러가 나는지 확인해 보았다.
Httpie 는 CLI HTTP 클라이언트 입니다. 다른 HTTP 클라이언트가 무엇이 있을까요? 우리가 일반적으로 사용하는 웹 브라우저가 가장 대표적인 클라이언트라고 할 수 있겠습니다. 서두에서 말한대로 웹 사이트, 즉 웹 브라우저를 통해 들어가지 않고도 Httpie 라는 다른 클라이언트를 통해서 같은 정보를 얻어 올 수 있는 것이죠. 그 과정에서 단순하고 자연스러운 문법을 사용하고 결과를 하이라이트를 통해 사용자에게 제공해줌으로서 인간 친화성을 방향으로 삼고 있습니다.
SignInView 클래스를 만든 후에 로그인을 할 때는 이메일(계정)과 패스워드가 필수라고 가정하고 email변수와 password변수를 만들어 주었다. 그 후에 조건을 주었다. 정보가 전달 되었을때 User테이블에 같은 이메일과 패스워드가 있을경우 아니면 이메일과 패스워드를 잘 못 입력한 경우에는 "message": "INVALID_USER" 에러가 출력되게 해놓고 만약 이메일이나 패스워드를 둘중에 하나라도 입력이 안됐을 경우 except를 이용해 "KEY_ERROR" 가 출력되게 해놓았다. 이메일과 패스워드가 모두 일치할 경우에는 "SUCCESS"을 출력하게 해놓았다.
위에서 요청받은 이메일과 패스워드는 User테이블에 존재하는 값이다. 하지만 "message": "INVALID_USER" 에러가 나왔다 그 이유는 서로 다른 id값이기 때문이다. 기존에 회원가입을 했을때 넣어놨던 이메일과 패스워드가 서로 같은 id값이 아니기 때문에 이런 에러가 나온 것이다.
위에는 이메일만 입력을 했고 패스워드는 입력을 하지 않았기 때문에 view에 작성한 것처럼 이메일이나 패스워드 둘중에 하나라도 입력이 되지 않았을 경우에는 "message": "KEY_ERROR" 에러가 출력되는 것이다.
반대로 테이블에 있는 같은 id값에 있는 이메일과 패스워드 즉 맞는 정보를 입력했을 때는 "message": "SUCCESS"가 출력되는 것을 볼 수 있다.