Skip to main content

Understanding HTTP methods

Understanding HTTP Methods in FastAPI

HTTP methods, also known as HTTP verbs, are an integral part of any web application. They define the type of action or operation that is requested by the client on the server resources. In this tutorial, we'll be discussing the various HTTP methods and how to use them in FastAPI.

What are HTTP Methods?

HTTP methods indicate the desired action to be performed on a specific resource. Here are the common HTTP methods we'll be covering in this tutorial:

  • GET: This method is used to retrieve information about a resource.
  • POST: This method is used to send data to a server to create a new resource.
  • PUT: This method is used to update a current resource.
  • DELETE: This method is used to delete a resource.
  • PATCH: This method is used to apply partial modifications to a resource.

Using HTTP Methods in FastAPI

FastAPI provides a simple and intuitive way to define routes using different HTTP methods. Let's see how we can use these methods in our FastAPI application.

GET Method

The GET method is used to retrieve data. Here's how we can define a GET route in FastAPI:

@app.get("/items/")
async def read_items():
return {"Hello": "World"}

POST Method

The POST method is used to send data to the server. Here's an example of a POST route in FastAPI:

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

class Item(BaseModel):
name: str
price: float

@app.post("/items/")
async def create_item(item: Item):
return item

PUT Method

The PUT method is used to update a resource. A PUT route in FastAPI can be defined as follows:

@app.put("/items/{item_id}")
async def update_item(item_id: int, item: Item):
return {"item_name": item.name, "item_id": item_id}

DELETE Method

The DELETE method is used to delete a resource. Here's how to define a DELETE route in FastAPI:

@app.delete("/items/{item_id}")
async def delete_item(item_id: int):
return {"item_id": item_id}

PATCH Method

The PATCH method is used to apply partial modifications to a resource. Here's an example of a PATCH route in FastAPI:

@app.patch("/items/{item_id}")
async def update_item(item_id: int, item: Item):
return {"item_name": item.name, "item_id": item_id}

In conclusion, understanding HTTP methods is crucial when developing a FastAPI application. They allow us to define what kind of operation we want to perform on our server resources. Remember to choose the correct method for your API endpoints to ensure your application runs smoothly. Happy coding!