Send Parameters to POST Request FastAPI
Last Updated :
28 Apr, 2025
In the world of web development and API creation, sending parameters via a POST request is a fundamental operation. FastAPI, a modern Python web framework, simplifies this process and allows developers to build efficient and scalable APIs. In this article, we will explore the theory and practical aspects of sending parameters to a POST request using FastAPI. FastAPI is a Python framework designed to streamline API development. It provides an intuitive and efficient way to define API routes, handle requests, and validate input parameters, making it a powerful tool for developers.
Here in this article, our main focus is on the HTTP requests, especially the POST method. When you send a POST request, you are submitting data to be processed to a specified resource. Parameters play a crucial role in this data transmission, as they carry the necessary information for the request. If you have no idea of how to create a FastAPI app refer to this article FastAPI application.
Send Parameters to POST Request FastAPI
We need to install FastAPI and Uvicorn, Here is FastAPI For creating API. For testing our API we need a server, so for that, we need a uvicorn.
Installing FastAPI and uvicorn server
pip install fastapi
pip install uvicorn
Setting Up FastAPI Application
We start by creating a new directory/folder for our project. we can name it something like "fastApiGfg". Now, In your project directory/folder, create a Python file named main.py. This will be the main entry point for our FastAPI application. So our project structure is now set for writing the actual code to create API using fastAPI.
Create a Python script (e.g., main.py) and add the following code to create a basic FastAPI application that accepts POST requests with parameters.
Here, an instance of the FastAPI class is created, which will be used to define routes and handle HTTP requests.
app = FastAPI()
This line defines a route named "/create_user/" that accepts HTTP POST requests. The route is decorated with @app.post, indicating that it should handle POST requests. It specifies that two parameters, user_id (an integer) and username (a string), are expected to be sent in the request data.
@app.post("/create_user/")
This line defines an asynchronous function named create_user. The function takes one parameter, user_data, which is expected to be of type User. It implies that the function expects a JSON request body with the structure defined in the User model.
async def create_user(user_data: User)
Finally, this line runs the FastAPI app using the uvicorn.run function. It specifies the host as "127.0.0.1" and the port as 8000, meaning the web service will be accessible at http://127.0.0.1:8000
uvicorn.run(app, host="127.0.0.1", port=8000)
Python3
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class UserCreate(BaseModel):
user_id: int
username: str
@app.post("/create_user/")
async def create_user(user_data: UserCreate):
user_id = user_data.user_id
username = user_data.username
return {
"msg": "we got data succesfully",
"user_id": user_id,
"username": username,
}
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="127.0.0.1", port=8000)
Deployement of the Project
We can run this code as we run simple Python code file.
VS code terminalNow to test our API we need to send POST request on "http://127.0.0.1:8000/create_user/" with a JSON request body containing user data, including "user_id" and "username" here we will use postman for testing our API.
Output
Here we are using Postman to test aur API.Here we have sent the data with the help of POST request.
POST request 1 with dataHere we have sent 2nd set of data with the help of POST request.
POST request 2 with data
Similar Reads
How Are Parameters Sent In An HTTP POST Request? HTTP POST requests are widely used in web development to send data from a client to a server. Whether you're submitting a form, uploading a file, or sending JSON data via an API, understanding how parameters are sent in an HTTP POST request is important. In this article, weâll explore how are parame
4 min read
POST Query Parameters in FastAPI FastAPI is a powerful and efficient Python web framework for building APIs with ease. For most of the applications getting data from a user is done through a POST request and this is a common task for developers is consume query parameters from POST requests. In this article, we'll explore the conce
4 min read
What are Request Parameters in Postman ? Postman, a powerful tool for API testing, offers many features that make it easier to test, share, and document APIs. One of the crucial aspects of API testing using Postman involves handling request parameters. In this article, we will see what request parameters are, how to send them using Postman
4 min read
How to pass parameters in Postman requests? Postman is an API(application programming interface) development tool that helps to build, test and modify APIs. It can make various types of HTTP requests(GET, POST, PUT, PATCH), save environments for later use, and convert the API to code for various languages(like JavaScript, and Python). In this
2 min read
FastAPI - Query Parameters In this article, we will learn about FastAPI Query Parameters, what are query parameters, what they do in FastAPI, and how to use them. Additionally, we will see examples of query parameters for best practices. What is FastAPI - Query Parameters?Query parameters stand as a formidable asset in bolste
6 min read