목록 보기
Flask, marshmallow, apispec으로 API 문서화 자동화하기
백엔드

Flask, marshmallow, apispec으로 API 문서화 자동화하기

spoqa
spoqa
2021년 3월 23일

두줄요약

Flask API의 검증 스키마를 marshmallow로 정의하고 OpenAPI 문서 생성에 재사용했습니다.\napispec을 연동해 API 명세 작성과 공유를 자동화하는 방식을 소개합니다.

구조와 흐름

  • Flask API의 요청·응답 스키마를 marshmallow로 선언하고 검증·직렬화에 활용
  • 스키마 필드의 설명·예시 메타데이터를 OpenAPI 문서 생성 정보로 재사용
  • apispec과 Flask 플러그인으로 OAS 3.0.2 문서 생성 및 시각화 도구 연계

선택 이유

  • 프론트엔드·백엔드 분업 전환에 따른 API 명세 공유 필요성
  • OpenAPI 표준 기반 문서화 도구·시각화 도구 활용 가능성
  • 검증용 스키마와 문서용 스키마의 중복 작성 감소

주의할 점

  • schema.load 검증 실패 시 ValidationError를 400 응답으로 변환하는 예외 처리 필요
  • 백엔드 snake_case와 외부 API camelCase 차이를 CamelCaseSchema로 일관되게 변환

적용해볼 점

  • 요청 파라미터, JSON 본문, 응답, 검증 오류 형식을 각각 스키마로 명시
  • 인증 헤더·쿼리 파라미터·오류 응답까지 OAS 명세에 포함

다음 읽기

비슷한 주제의 백엔드 글

마이크로 서비스 환경에서 통합된 API 문서 서버 구축하기

마이크로 서비스 환경에서 흩어진 API 문서를 OpenAPI로 통일해 공용 문서 서버를 구축했습니다. GitHub Action과 S3로 배포마다 문서를 자동 갱신해 관리 부담을 줄였습니다.

트렌비
트렌비
백엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...