본문 바로가기

웹 프레임워크

(25)
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&..
FastAPI - 03 (쿼리(Query) 매개변수) 출처: https://fastapi.tiangolo.com/tutorial/query-params/ 아래의 내용은 공식 사이트의 내용을 제 경험과 생각을 추가하여 다시 정리한 것 입니다. 쿼리(Query) 매개변수 예시 경로 매개변수가 아닌 함수의 매개변수는 FastAPI에서 자동으로 쿼리(Query) 매개변수로 인식됩니다. 이는 함수에 선언된 매개변수가 URL의 경로 일부가 아니라면, 그 매개변수가 URL의 쿼리 스트링으로 처리된다는 의미입니다. from fastapi import FastAPI app = FastAPI() fake_items_db = [{"item_name": "Foo"}, {"item_name": "Bar"}, {"item_name": "Baz"}] @app.get("/items/"..
FastAPI - 02 (경로(Path) 매개변수) 출처: https://fastapi.tiangolo.com/tutorial/path-params/ 아래의 내용은 공식 사이트의 내용을 제 경험과 생각을 추가하여 다시 정리한 것 입니다. 경로(Path) 매개변수 예시 아래는 경로(Path)가 포함되어 있는 url의 예시입니다. http://127.0.0.1:8000/items/foo items와 foo가 경로입니다. 아래는 경로 매개변수를 사용하는 예시입니다. from fastapi import FastAPI app = FastAPI() @app.get("/items/{item_id}") # 경로 매개변수 - item_id async def read_item(item_id): # 함수 매개변수 - item_id return {"item_id": item_..