python_fastapi

강의 3: HTTP 메서드 다루기

알세지 2024. 5. 27. 23:32

강의 3: HTTP 메서드 다루기

강의 목표

  • GET, POST, PUT, DELETE 메서드를 이해하고 활용합니다.
  • 다양한 HTTP 메서드를 사용하는 간단한 API 엔드포인트를 생성합니다.

준비물

  • 이전 강의에서 설정한 FastAPI 프로젝트

실습 예제

1. GET 메서드

GET 메서드는 서버에서 데이터를 가져올 때 사용됩니다.

  1. main.py 파일에 아래의 코드를 추가합니다.

     @app.get("/items/{item_id}")
     def read_item(item_id: int, q: str = None):
         return {"item_id": item_id, "q": q}
  2. 서버를 실행하고, 브라우저에서 http://127.0.0.1:8000/items/1?q=fastapi에 접속하여 결과를 확인합니다.

2. POST 메서드

POST 메서드는 서버에 데이터를 생성할 때 사용됩니다.

  1. main.py 파일에 아래의 코드를 추가합니다.

     from pydantic import BaseModel
    
     class Item(BaseModel):
         name: str
         description: str = None
         price: float
         tax: float = None
    
     @app.post("/items/")
     def create_item(item: Item):
         return {"item": item}
  2. 서버를 실행하고, POST 요청을 보내기 위해 http://127.0.0.1:8000/docs에 접속하여 인터랙티브 API 문서를 사용합니다.

3. PUT 메서드

PUT 메서드는 서버의 데이터를 업데이트할 때 사용됩니다.

  1. main.py 파일에 아래의 코드를 추가합니다.

     @app.put("/items/{item_id}")
     def update_item(item_id: int, item: Item):
         return {"item_id": item_id, "item": item}
  2. 서버를 실행하고, PUT 요청을 보내기 위해 http://127.0.0.1:8000/docs에 접속하여 인터랙티브 API 문서를 사용합니다.

4. DELETE 메서드

DELETE 메서드는 서버에서 데이터를 삭제할 때 사용됩니다.

  1. main.py 파일에 아래의 코드를 추가합니다.

     @app.delete("/items/{item_id}")
     def delete_item(item_id: int):
         return {"item_id": item_id, "message": "Item deleted"}
  2. 서버를 실행하고, DELETE 요청을 보내기 위해 http://127.0.0.1:8000/docs에 접속하여 인터랙티브 API 문서를 사용합니다.

추가 실습

  • 다양한 HTTP 메서드를 사용하여 더 많은 엔드포인트를 만들어 보세요.
  • 실제 프로젝트에서 데이터를 CRUD(Create, Read, Update, Delete)하는 API를 만들어 보세요.

이제 다양한 HTTP 메서드를 사용하여 API 엔드포인트를 생성하고 처리할 수 있습니다. 다음 강의에서는 경로 매개변수와 쿼리 매개변수를 다루는 방법을 학습할 것입니다.