FastAPI/Tutorial - User Guide
[ FastAPI ] 경로 매개변수와 숫자형 유효성 검사
[ FastAPI ] 경로 매개변수와 숫자형 유효성 검사
2021.09.03Query 를 사용한 쿼리 매개변수로 더 많은 유효성 검사와 메타 데이터를 선언한 것과 똑같은 방법으로, Path 를 사용한 경로 매개변수로 동일한 자료형 유효성 검사와 메타 데이터를 선언할 수 있습니다. 경로 임포트 우선, fastapi 로 부터 Path 를 임포트 하시기 바랍니다: 메타 데이터 선언 Query 와 마찬가지로 동일한 모든 매개변수를 선언할 수 있습니다. 예를 들어, title 이라는 메타 데이터 값을 경로 매개변수 item_id 로 선언할 수 있습니다: 참고 경로 매개변수는 항상 경로의 일부분으로 요구됩니다. 따라서, ... 를 사용하여 그것이 요구되는 것임을 표시해야 합니다. 그럼에도 불구하고, None 또는 기본 값을 설정하여 선언하면, 아무런 영향을 끼치지 못하고, 여전히 필수적으..
[ FastAPI ] 쿼리 매개변수와 문자열 유효성 검사
[ FastAPI ] 쿼리 매개변수와 문자열 유효성 검사
2021.09.02FastAPI는 추가적인 정보와 유효성 검사를 매개변수에 선언할 수 있게 해줍니다. 아래 애플리케이션 예시를 한 번 같이 살펴봅시다: 쿼리 매개변수 q 는 Optional[str] 자료형이고, 이는 곧 str 이면서 동시에 None 이 될 수 있다는 걸 의미하며, 실제로, 기본 값이 None 이게 됩니다, 따라서 FastAPI는 이것이 필수로 요구되지 않는다는 걸 알게 됩니다. 참고 FastAPI는 기본 값이 = None 이기 때문에 q 의 값이 필수로 요구되지 않는다는 걸 알 수 있습니다. Optional[str] 속 Optional 은 FasAPI에 의해 사용되지는 않지만, 편집기가 더 잘 지원하며 오류를 찾아낼 수 있게 해줍니다. 추가적인 유효성 검사 q 가 선택 사항이지만, 값이 주어졌을 때, 그..
[ FastAPI ] 요청 바디
[ FastAPI ] 요청 바디
2021.08.29클라이언트로부터 (브라우저라 가정해봅시다) 당신의 API로 데이터를 보내야 할 때, 요청 바디로 보낼 수 있습니다. 요청 바디는 클라이언트가 API로 전달하는 데이터입니다. 응답 바디는 API가 클라이언트로 전달하는 데이터입니다. API는 거의 항상 응답 바디를 보내야 합니다. 하지만 클라이언트는 매번 의무적으로 요청 바디를 보낼 필요가 없습니다. 요청 바디를 선언하기 위해, Pydantic 모델의 기능과 이점을 사용할 수 있습니다. 정보 데이터를 보내기 위해, 다음 중 하나를 사용해야 합니다: (주로 사용되는) POST , PUT , DELETE 또는 PATCH . GET 요청과 함께 바디를 전달하는 건 명세서에 정의되지 않은 행동이지만, 그럼에도 불구하고, 복잡하고/극단적인 사용 사례을 위해 Fast..
[ FastAPI ] 쿼리 매개변수
[ FastAPI ] 쿼리 매개변수
2021.08.28만약 경로 매개변수의 일부가 아닌 다른 함수 매개변수를 선언한다면, 그것들은 자동으로 "쿼리" 매개변수로 해석됩니다. 쿼리는 & 문자로 구분되고, URL 속 ? 다음에 오는 키-값 쌍으로 이루어진 집합입니다. 예를 들어, 다음과 같은 URL이 있습니다: ... 여기서 쿼리 매개변수는 다음과 같습니다: skip : 0 이라는 값을 가집니다. limit : 10 이라는 값을 가집니다. 이것들은 URL의 한 부분이기 때문에, "당연히" 문자열입니다. 그러나 (위 예시에서의 int 처럼) 파이썬 자료형으로 선언한다면 이것은 해당 자료형으로 변환되고 유효성 검사가 진행됩니다. 경로 매개변수에서 동작하는 모든 작업은 쿼리 매개변수에서도 동작합니다: (명백한) 편집기의 지원 데이터 "파싱" 데이터 유효성 검사 자동 ..
[ FastAPI ] 경로 매개변수
[ FastAPI ] 경로 매개변수
2021.08.27파이썬 문자열 포맷팅에서 사용되는 문법으로 똑같이 경로 "매개변수" 또는 "변수"를 선언할 수 있습니다: 경로 매개변수의 값 item_id 는 item_id 인자로 함수에 전달됩니다. 따라서, 만약 이 예시를 실행하고 http://127.0.0.1:8000/items/foo로 이동한다면, 다음과 같은 결과를 확인할 수 있습니다: 자료형을 사용한 경로 매개변수 표준 파이썬 자료형 어노테이션을 사용하여, 함수 속 경로 매개변수의 자료형을 정의할 수 있습니다: 이 경우, item_id 는 int 로 선언 되었습니다. 확인 이것은 함수 내부에서의, 에러 확인, 자동 완성, 기타 등등의 편집기 도움을 지원합니다. 데이터 변환 만약 이 예시를 실행하고 http://127.0.0.1:8000/items/3로 브라우저..
[ FastAPI ] 첫 단계
[ FastAPI ] 첫 단계
2021.08.26가장 간단한 FastAPI 파일은 다음과 같은 형태입니다: main.py 파일에 이 코드를 복사하시기 바랍니다. 그리고 라이브 서버를 실행하시기 바랍니다: 참고 uvicorn main:app 명령어 의미는 다음과 같습니다. - main : (파이썬 "모듈"인) main.py 파일 - app : main.py 파일에 app = FastAPI() 라인으로 만들어진 객체 - --reload : 코드가 변경될 때의 서버 자동 재시작. 개발 환경에서만 사용. 결과물에는, 다음과 같은 라인이 출력됩니다: 이 라인은 당신의 로컬 기계에서, 애플리케이션이 제공되는 URL을 보여줍니다. 결과 확인 http://127.0.0.1:8000 주소로 브라우저를 열어보시기 바랍니다. 다음과 같은 JSON 응답을 확인할 수 있습니..
[ FastAPI ] 튜토리얼 - 사용자 지침서 - 도입
[ FastAPI ] 튜토리얼 - 사용자 지침서 - 도입
2021.08.25이 튜토리얼은 대부분의 FastAPI 기능을 단계 별로 어떻게 사용하는지 보여줍니다. 각 섹션은 이전 섹션을 바탕으로 점점 심화되지만, 구조적으로는 토픽 별로 나눠져 있으니, 해결해야 할 특정 API 요구에 맞춰 특정 섹션을 바로 읽어도 무관합니다. 이것은 또한 추후 참고 자료로 사용될 수 있게 작성되었습니다. 그러니 확실하게 필요한 부분은 나중에 와서 참고해도 좋습니다. 코드 실행 모든 코드 블록은 (실제로 파이썬 파일로 테스트 되었기 때문에) 복사하여 바로 실행할 수 있습니다. 아무 예시를 실행할 때, main.py 파일에 코드를 복사한 뒤, 다음과 같이 uvicorn 을 실행하시면 됩니다: 코드를 작성하거나 복사한 뒤, 로컬 환경에서 수정하고 실행하는 걸 강력히 권고합니다. 직접 에디터에서 사용해야..