본문 바로가기

728x90
반응형

FastAPI

(3)
[FastAPI] 3. pydantic 모델을 사용한 요청 바디 검증 개발환경 : WSL2 (Ubuntu 20.04), Python 3.10 (anaconda 가상환경) pydantic 모델을 사용한 요청 바디 검증 FastAPI에서는 정의된 데이터만 전송되도록 요청 바디를 검증할 수 있음. (매우 중요한 기능!!) 다음은 model.py 작성 코드이다. from pydantic import BaseModel class Todo(BaseModel): id: int item: str 이 코드는 다음 두 개의 필드만 허용하는 pydantic 모델을 만든다. 정수형(int)인 id 문자열형(str)인 item 이 모델을 POST 라우트에 사용해보자. todo.py 파일에 다음과 같이 모델을 임포트 한다. from fastapi import APIRouter from model ..
[FastAPI] 2. 라우팅(Routing) 개발환경 : WSL2 (Ubuntu 20.04), Python 3.10 (anaconda 가상환경) 라우팅(Routing) 웹 애플리케이션을 구축하는 데 있어 핵심적인 부분 클라이언트가 서버로 보내는 HTTP 요청을 처리하는 프로세스 HTTP 요청이 지정한 라우트로 전송되면 미리 정의된 로직이 해당 요청을 처리해서 반환(응답) 이번 포스팅에서는 여러 함수를 사용하는 연속적인 라우트 처리를 FastAPI 클래스를 통해 구현해보자. APIRouter 클래스를 사용한 라우팅 APIRouter 클래스는 다중 라우팅을 위한 경로 처리 클래스로, fastapi 패키지에 포함돼있음. 라우팅 메서드는 다음과 같이 APIRouter() 인스턴스를 사용해 생성한다. todo.py라는 새로운 파일을 작성 from fasta..
[FastAPI] 1. FastAPI 시작하기 (환경 구축) 개발환경 : WSL2 (Ubuntu 20.04), Python 3.10 (anaconda 가상환경) 처음은 간단한 애플리케이션을 구축해보면서 FastAPI를 경험해보는 시간. 1. 라이브러리 설치 및 소스코드 작성 애플리케이션 개발에 필요한 라이브러리와 패키지를 설치 pip install fastapi uvicorn 이제 api.py라는 파일을 만들어 FastAPI의 새 인스턴스를 생성함. from fastapi import FastAPI app = FastAPI() app 변수에 FastAPI를 초기화해서 라우트를 생성할 수 있다. 웰컴 라우트를 만들어보자. 우선 데코레이터를 사용해 처리 유형을 정의하고 라우트가 호출됐을 때 실행할 처리를 함수로 작성함. 다음 코드는 GET 유형의 요청을 받아서 환영 ..

728x90
반응형