728x90
유저를 만들 수 있게 되었으니 이제 채팅방 crud를 만들어볼 차례.
CBV
인턴에서 FastAPI 사용했을때는 함수형으로 작성했었다. 그러다보니 main.py 파일이 너무 길어지고 수정이 필요할 때 찾기도 불편했다.
그래서 Flask에서처럼 클래스로 뷰를 관리하는 게 있었으면 좋겠다고 생각했는데, 역시 있었다.
생각보다 너무 좋았다. 매번 함수에서 공통적으로 필요한 부분(db, request, user_id)을 선언하지 않아도 클래스 변수로 가져올 수 있다니 신세계다.
한가지 좀 애를 먹었던 것은 user_id를 가져오는 부분이었는데, 나는 해당 함수의 파라미터 이름을 맘대로 지어도 되는줄 알았는데 안되는 것이었다... token: str = Header(...)
이렇게 했었는데, 공식 문서에 나온대로 authorization: str = Header(...)
이대로 써야 했었다. 생각해보면 당연한 부분이었다... 헤더에서 어떻게 알고 인증 정보를 가져올 수 있는지... 좀만 생각해보고 했어야...
채팅방 생성 및 조회 기능
CBV인것 빼고는 그냥 crud api 짜는 것과 다를게 없었다. main.py를 좀 더 깔끔하게 유지하기 위해 apis라는 폴더에 api 파일 모듈로 만들고, import 하여 router 등록하는 방식으로 했다.
정말 main.py 가 깔끔해지니 마음이 편안해졌다.
728x90
'FastAPI 채팅 개발 일지' 카테고리의 다른 글
21. 05. 12 친구 관계 설정 API, Query logging, jwt 로그아웃 (0) | 2021.05.12 |
---|---|
21.04.28 친구 관계 설정, EC2, RDS, nginx, gunicorn 설정 (0) | 2021.05.01 |
21.04.23 - 소켓 통신 테스트 및 소켓 인증 방식 리서치, Authentication / TrustedHost Middleware 추가 (0) | 2021.04.25 |
21.04.21 - 메시지 조회 및 생성 기능, 다른 api 버그 수정 (0) | 2021.04.25 |
21.04.16 - 채팅에 관한 간단한 리서치, JWT 인증 구현 (0) | 2021.04.25 |