python - REST API의 일반 (HTML이 아닌) 오류 페이지

출처 python rest flask

Flask로 간단한 REST 서비스를 작성하고 있습니다. 내 코드에서 예외가 발생하면 브라우저에 멋진 오류 메시지와 대화 형 디버거가 나타납니다. 그러나 명령 줄 (예 : curl 사용) 또는 단위 테스트에서 서비스를 호출했는데 실패한 경우에도 형식이 지정된 (HTML) 오류 메시지가 표시됩니다. 가끔 일반 텍스트 메시지 (기본적으로 Python 오류 + 트레이스 백)를 받았으며 Flask가 일반 텍스트 또는 HTML을 제공하기로 결정한 방법을 모르겠습니다.

Flask가 브라우저없이 액세스 할 때 일반 (비대화 형, 비 HTML) 오류 메시지를 반환하도록하려면 어떻게해야합니까?
프로덕션 모드에서 예외를 처리하려면 500 상태 코드에 대한 오류 처리기를 등록하십시오. 그것으로부터 당신은 당신이 원하는 것을 반환 할 수 있습니다. 다음은 예외 자체를 일반 텍스트로 반환하는 예입니다.

@app.errorhandler(500)
def error_500(exception):
    return str(exception), 500, {'Content-Type': 'text/plain'}


작성중인 API 인 경우 JSON 인코딩 데이터를 application/json로 반환하는 것이 더 적절할 수 있습니다.
관련 기사

python - 지정된 바이트 오프셋에서 파일에서 행 가져 오기

python - 파이썬의 백 슬래시 이스케이프 문자 이해

python - Simplegui 가져 오기 문제

python - 한 번에 여러 파일 쓰기

python - 최소 차 제곱합을 찾는 알고리즘

python - Python에서 베어 함수 객체가 유효한 코드 인 이유는 무엇입니까? [닫은]

python - 예외에서 루프를 종료하지만 모든 예외 유형을 다시 발생시키지 않는 방법은 무엇입니까?

python - 특수 문자를 고려하지 않고 대소 문자를 구분하지 않고 문자열 목록을 정렬하는 방법

python - numpy.nextafter () float에 추가하면 예기치 않은 결과가 반환됩니다.

python - 비 루트 사용자로서의 감독자 [닫힘]