https://ooknimm.tistory.com/7 글에서 이어집니다. 전체 코드는 ooknimm/flask-parameter-validator에서 확인할 수 있습니다. 추가해야 하는 기능은 다음과 같습니다. parameter type annotation으로 pydantic model 외에도 python typing 지원 form data 지원 path, query, header를 지원 multiple request parameter를 지원 1편에서는 기초적인 기능만 존재하여 코드가 심플했습니다. 이제 보다 복잡한 요구사항을 수행할 수 있어야 하므로 ParameterValidator와 Dependant만 존재하는 클래스 구조에서 확장하였습니다. 클래스 관계를 직관적으로 확인하기 위해 UML을 그려보겠습..
Flask에는 validation 기능이 내장되어 있지 않으므로 별도의 라이브러리를 사용해야 합니다. flask-request-validator, flask-parameter-validation, flask-inputs, flask-pydantic 등의 오픈소스 라이브러리들이 이미 존재하는데, 이 중에 flask-pydantic이 fastapi의 validation과 비슷한 콘셉트로 가장 만족도가 높은 라이브러리가 될 것 같습니다. 어쨌든 이러한 기능을 직접 만들어 보고 싶었는데, 요 몇 년간 python web framework 중 가장 핫한 fastapi에는 request parameter를 아주 우아하게 validation 하는 기능이 있으니 이를 흉내 내어 만들기로 하였습니다. 전체 코드는 ook..