728x90
반응형

2024/06/19 6

[FastAPI] 9. Extra Data Types

주요 데이터 타입 예시UUID: 전역적으로 고유한 식별자, 문자열로 표현Universally Unique Identifier주로 데이터베이스 및 시스템에서 고유 ID로 사용32개의 16진수 문자로 표현되며, 8-4-4-4-12 형식의 다섯 그룹으로 구분request와 response에서는 string으로 나타냄 ex) 123e4567-e89b-12d3-a456-426614174000datetime.datetime날짜와 시간, ISO 8601 형식의 문자열로 표현request와 response에서는 string으로 나타냄ex) 2008-09-15T15:53:00+05:00datetime.date날짜, ISO 8601 형식의 문자열로 표현request와 response에서는 string으로 나타냄 ex) 2..

[FastAPI] 8. Fields

FieldPydantic 모델 내부의 필드에서 모델 속성에 대해 추가 메타데이터 및 유효성 검사를 설정할 때 사용지금까지는 FastAPI 경로 함수의 매개변수에 대해서 Query, Path, Body를 사용기능은 유사하나 Field 함수는 Pydantic 모델 안에서 위와 같은 기능을 설정한다는 차이가 있음from typing import Annotatedfrom fastapi import Body, FastAPIfrom pydantic import BaseModel, Fieldapp = FastAPI()class Item(BaseModel): name: str description: str | None = Field( default=None, title="The descripti..

[FastAPI] 5. Query Parameters(Annotated, Query)

Annotated와 Queryfrom typing import Annotatedfrom fastapi import FastAPI, Queryapp = FastAPI()@app.get("/items/")async def read_items(q: Annotated[str | None, Query(max_length=50)] = None): results = {"items": [{"item_id": "Foo"}, {"item_id": "Bar"}]} if q: results.update({"q": q}) return resultsAnnotated는 typing에서 Query는 fastapi에서 Import 가능 (Python 3.9 이상 기준)Annotated의 목적은 파라미터 타..

[FastAPI] 4. Request Body

Reqeust Body클라이언트가 API에 데이터를 전송할 때 사용즉, 클라이언트가 API로 보내는 데이터가 Request Body(Response Body는 API가 클라이언트로 보내는 데이터)API는 거의 항상 Response Body을 보내야 하지만, 클라이언트는 항상 Request Body을 보낼 필요는 없음Request Body를 선언하기 위해 FastAPI에서는 Pydantic model을 상속받아 사용Pydantic: API에서 입력받는 데이터의 구조와 유형을 정의하는 데 사용. 데이터의 유효성을 자동 검증하고, 올바른 유형 변환데이터의 무결성을 보장, API의 신뢰성과 사용성 증가!from fastapi import FastAPIfrom pydantic import BaseModelclas..

728x90
반응형