전체 글 (94) 썸네일형 리스트형 FastAPI - 11 (파일 요청 / 폼과 파일 요청) 출처: https://fastapi.tiangolo.com/tutorial/request-files/ 출처: https://fastapi.tiangolo.com/tutorial/request-forms-and-files/ 아래의 내용은 공식 사이트의 내용을 제 경험과 생각을 추가하여 다시 정리한 것 입니다. File, UploadFile fastapi는 파일 요청을 처리 하기 위해 File과 UploadFile을 제공합니다. 클라이언트에서 업로드 한 파일을 받기 위해서는 python-multipart가 필요합니다. pip install python-multipart로 설치 할 수 있습니다. # File과 UploadFile import from fastapi import FastAPI, File, Upl.. FastAPI - 10 (폼 데이터 - Form Data) 출처: https://fastapi.tiangolo.com/tutorial/request-forms/ 아래의 내용은 공식 사이트의 내용을 제 경험과 생각을 추가하여 다시 정리한 것 입니다. 폼 데이터 fastapi는 폼 데이터를 처리 하기 위해 Form을 제공합니다. from fastapi import FastAPI, Form # Form import from typing_extensions import Annotated app = FastAPI() @app.post("/login/") # username: Annotated[str, Form()] -> Form, Annotated를 사용하여 username을 폼 데이터로 지정 # password: Annotated[str, Form()] -> Form,.. FastAPI - 09 (응답 상태 코드 - Response Status Code) 출처: https://fastapi.tiangolo.com/tutorial/response-status-code/ 아래의 내용은 공식 사이트의 내용을 제 경험과 생각을 추가하여 다시 정리한 것 입니다. 응답 상태 코드 status_code 매개변수를 사용하여 응답에 대한 HTTP 상태 코드를 선언할 수 있습니다. from fastapi import FastAPI app = FastAPI() # status_code 매개변수를 사용하여 응답에 대한 HTTP 상태 코드를 선언 @app.post("/items/", status_code=201) async def create_item(name: str): return {"name": name} 테스트 - python 코드 import requests def t.. FastAPI - 08 (응답 모델: Response Model) 출처: https://fastapi.tiangolo.com/tutorial/response-model/ 아래의 내용은 공식 사이트의 내용을 제 경험과 생각을 추가하여 다시 정리한 것 입니다. 응답 모델 - Return Type 반환 되는 유형을 지정 하는 방법에 대한 예시 입니다. 함수 Return Type에 반환 유형 주석 사용 from typing import List, Union from fastapi import FastAPI from pydantic import BaseModel app = FastAPI() class Item(BaseModel): name: str description: Union[str, None] = None price: float tax: Union[float, None].. FastAPI - 07 (헤더(Header) 매개변수) 출처: https://fastapi.tiangolo.com/tutorial/header-params/ 아래의 내용은 공식 사이트의 내용을 제 경험과 생각을 추가하여 다시 정리한 것 입니다. 헤더 매개변수(Header Parameters) 헤더 매개변수를 사용하여 헤더의 값을 가져올 수 있습니다. from typing import Union from fastapi import FastAPI, Header # Header import app = FastAPI() @app.get("/items/") # Header를 사용하여 user_agent의 메타데이터를 지정 async def read_items(user_agent: Union[str, None] = Header(default=None)): return .. FastAPI - 06 (경로 매개변수와 숫자 유효성 검사) 출처: https://fastapi.tiangolo.com/tutorial/path-params-numeric-validations/ 아래의 내용은 공식 사이트의 내용을 제 경험과 생각을 추가하여 다시 정리한 것 입니다. Path 사용 Path를 사용 하여 유효성 검사 및 메타데이터를 선언 할 수 있습니다. from typing import Union from fastapi import FastAPI, Path, Query # Path import from typing_extensions import Annotated app = FastAPI() @app.get("/items/{item_id}") async def read_items( # Path를 사용하여 item_id의 메타데이터(title)를 지정.. FastAPI - 05 (쿼리 매개변수와 문자열 유효성 검사) 출처: https://fastapi.tiangolo.com/tutorial/query-params-str-validations/ 아래의 내용은 공식 사이트의 내용을 제 경험과 생각을 추가하여 다시 정리한 것 입니다. 선택적 쿼리 매개변수 쿼리 매개변수q를 필수가 아닌 선택적으로 만들기 from typing import Union # 여러 타입 중 하나를 지정하기 위해 Union 사용 from fastapi import FastAPI app = FastAPI() @app.get("/items/") # q의 타입을 Union[str, None]으로 지정 # q의 기본값을 None으로 지정 # q는 선택적으로 만들어짐 async def read_items(q: Union[str, None] = None): r.. FastAPI - 04 (Request Body) 출처: https://fastapi.tiangolo.com/tutorial/body/ 아래의 내용은 공식 사이트의 내용을 제 경험과 생각을 추가하여 다시 정리한 것 입니다. 서버로 데이터를 보내는 방법 FastAPI의 Request Body를 이해하기 전에 데이터 전송의 기본적인 접근 방식을 알아보겠습니다. Get 방식과 Post 방식을 중점적으로 알아보겠습니다. Get 방식 GET 요청은 데이터를 URL의 일부로 전송합니다. 주로 쿼리 문자열(query string)을 통해 데이터를 서버에 전달하며, 이는 URL 끝에 ? 다음에 key=value 쌍으로 추가되면 각 쌍은 &로 구분됩니다. 아래는 쿼리 문자열이 포함된 URL의 예시입니다. http://127.0.0.1:8000/items/?skip=0&.. 이전 1 ··· 8 9 10 11 12 다음