반응형
Flask-restful API의 일부로 로그인 리소스가 있습니다.
class LoginApi(Resource):
def post(self):
try:
body = request.get_json()
user = User.objects.get(email=body.get('email'))
authorized = user.check_password(body.get('password'))
if not authorized:
raise UnauthorizedError
expires = datetime.timedelta(days=7)
access_token = create_access_token(identity=str(user.id), expires_delta=expires)
return {'token': access_token}, 200
except DoesNotExist:
raise UnauthorizedError
except Exception as e:
raise InternalServerError
로그인 경로에 대한 4 가지 시나리오가 있습니다.
따라서 3 번-UnauthorizedError 대신 InternalServerError가 발생합니다.
if not authorized :
문이 올바르게 작동합니다 (인쇄물을 넣으면 작동하는 것을 볼 수 있습니다). 그러나 어떤 이유로 오류를 발생 시키려고 할 때 다음이 표시됩니다.
위의 예외를 처리하는 동안 다른 예외가 발생했습니다.
해결 방법
if 문은 UnAuthorized를 발생 시키지만 예외에서 발생하는 경우에는 DoesNotExist를 발생시켜 예외에서 UnAuthorized가 발생할 수 있도록 만들어야합니다.
참조 페이지 https://stackoverflow.com/questions/63758068
반응형
'파이썬' 카테고리의 다른 글
파이썬 Python 애플리케이션 24x7 실행-디자인 질문 (0) | 2020.09.13 |
---|---|
파이썬에서 주어진 ID를 가진 2 차원 목록의 행 (복사본)을 반환하는 가장 효율적인 (가장 빠른) 방법은 무엇입니까? (0) | 2020.09.13 |
파이썬 Python Flask 앱의 settings.py에서 os.getenv ()를 사용하는 이유는 무엇입니까? (0) | 2020.09.13 |
파이썬 Python-JSONDecodeError : 큰 따옴표로 묶인 속성 이름이 필요합니다. (0) | 2020.09.13 |
파이썬 Django는 미디어 폴더 안에 다른 미디어 폴더를 만듭니다. (0) | 2020.09.13 |
댓글