fastapi 6

[새싹 성동 2기] FastAPI로 구현하는 "할 일 관리 API" 기능 개발 및 테스트

1. 기능 개요FastAPI를 이용해 기본적인 "할 일 관리" API를 구현합니다. 이 API는 다음의 주요 기능을 포함합니다.구분(기능)방식URI본문응답과 관련 내용할 일 추가POST/todo{ "id": num, "item": str }"할 일을 추가합니다."할 일 목록 조회GET/todo없음할 일 목록 반환할 일 상세 조회GET/todo/{todo_id}없음지정 ID의 할 일 반환할 일 검색GET/todo/search?item=없음검색 조건에 맞는 할 일 반환할 일 수정PUT/todo/{todo_id}{ "item": str }"할 일을 수정했습니다."할 일 삭제DELETE/todo/{todo_id}없음"할 일을 삭제했습니다." 2. 기능 구현2.1 기본 모델 정의 (model.py)from pyd..

코딩/파이썬 2024.12.16

[새싹 성동 2기] FastAPI 쿼리 매개변수와 Query 클래스 활용법

FastAPI에서 쿼리 매개변수는 URL 경로에 포함되지 않고 ? 뒤에 추가되는 매개변수입니다. 주로 필터링, 정렬, 페이징 등의 작업을 위해 사용됩니다. 이번 글에서는 쿼리 매개변수를 활용하여 할 일 검색 기능을 구현하고, Query 클래스를 사용하여 유효성 검사 및 메타데이터 추가 방법을 다룹니다. 쿼리 매개변수를 활용한 할 일 검색할 일을 추가, 조회, 검색하는 간단한 API를 FastAPI로 구현합니다. 먼저 기본적인 코드부터 살펴보겠습니다.코드: todo.pyfrom fastapi import APIRouter, Pathfrom model import Todo# 라우터 생성todo_router = APIRouter()todo_list = []@todo_router.post("/todo")def ..

코딩/파이썬 2024.12.16

[새싹 성동 2기] FastAPI 경로 매개변수와 Path 클래스를 활용한 유효성 검사

FastAPI는 경로 매개변수(Path Parameter)를 통해 URL의 특정 값을 받아 서버에서 처리할 수 있도록 지원합니다. 이 기능은 RESTful API 개발에서 자주 사용되며, 클라이언트가 서버로 특정 리소스를 요청할 때 매우 유용합니다. 이번 글에서는 FastAPI에서 경로 매개변수를 사용하는 방법과 이를 Path 클래스를 활용해 유효성 검사 및 메타데이터를 추가하는 방법을 소개합니다.1. 경로 매개변수란?경로 매개변수는 URL 경로의 일부로 전달되는 값으로, FastAPI에서 중괄호 {}로 표시됩니다. 클라이언트가 URL을 통해 특정 리소스를 요청하면 서버는 이 값을 사용해 작업을 수행합니다.예시:경로: /users/{user_id}요청: /users/100결과: 서버는 user_id=10..

코딩/파이썬 2024.12.16

[새싹 성동 2기] Pydantic 모델을 사용한 요청 본문 검증

FastAPI에서는 데이터 유효성 검증을 간단하고 효율적으로 처리할 수 있습니다. Pydantic 모델을 사용하면 요청 본문 데이터를 구조화하고 검증할 수 있으며, 검증에 실패하면 FastAPI는 422(Unprocessable Content) 응답을 자동으로 반환합니다.Pydantic 모델 정의Pydantic은 데이터 구조를 정의하고, 요청 및 응답 데이터의 유효성을 검사하는 데 사용됩니다. 이를 통해 애플리케이션의 데이터를 안전하게 처리할 수 있습니다.기본 모델 정의다음은 할 일 데이터를 저장할 Pydantic 모델의 예입니다. 이 모델은 id와 item 필드를 포함합니다.model.pyfrom pydantic import BaseModelclass Todo(BaseModel): id: int ..

코딩/파이썬 2024.12.16

[새싹 성동 2기] FastAPI 라우팅 가이드

웹 애플리케이션에서 라우팅은 클라이언트 요청을 특정 함수나 로직에 매핑하는 중요한 과정입니다. FastAPI에서는 이를 "경로 운영자 데코레이터"를 사용해 손쉽게 정의할 수 있습니다. 또한, APIRouter 클래스를 이용해 라우트를 모듈화하고 그룹화할 수 있습니다. 이번 글에서는 FastAPI의 라우팅 개념과 사용 방법을 단계별로 설명합니다. 1. 경로 운영자 데코레이터FastAPI에서 경로와 HTTP 메서드를 연결하기 위해 경로 운영자 데코레이터를 사용합니다. 이는 특정 HTTP 메서드와 경로에 요청이 들어왔을 때 실행할 함수를 정의합니다. 함수는 보통 비동기 함수(async def)로 작성되지만, 동기 함수(def)로도 가능합니다.주요 데코레이터 종류:@app.get() : HTTP GET 요청 처..

코딩/파이썬 2024.12.11

[새싹 성동 2기] FastAPI로 간단한 웹 애플리케이션 만들기

파이썬 웹 프레임워크인 FastAPI를 이용하여 간단한 REST API를 구현하고, 로컬 환경에서 애플리케이션을 실행해보는 과정을 소개합니다. FastAPI란?FastAPI는 파이썬으로 고성능 비동기 웹 애플리케이션을 쉽게 개발할 수 있도록 도와주는 웹 프레임워크입니다. 기본적으로 비동기(Async) 작업 방식을 지원하기 때문에, 동시성 처리가 많은 REST API를 구현할 때 매우 유용합니다.FastAPI 특징:고성능: Starlette과 uvicorn 기반으로 매우 빠른 속도 제공간결한 문법: Python 타입 힌트를 적극 활용해 자동 문서화 및 검증비동기 지원: async/await 키워드를 통한 논블로킹 I/O 처리REST API 개발에 최적화개발 환경 준비작업 디렉터리 생성먼저 FastAPI 프..

코딩/파이썬 2024.12.11