Hi ππ
Welcome In a new post, today I will share with you how to set ids for users automatically in FastAPI and Pydantic, and uuid4 in Python.
step 1
Import modules
from fastapi import FastAPI
from pydantic import BaseModel
from uuid import uuid4
import json
step 2
Create a Json file to store user into it
{
"users": [
]
}
step 3
Load the json file
users_db = json.load(open('users.json', 'r'))
step 4
Create the user Model
class User(BaseModel):
username : str
password : str
step 5
Create the api and add_user
Route
app = FastAPI()
@app.post('/add_user')
def add_user(user : User):
users_db['users'].append({
"id": str(uuid4()),
"username": user.username,
"password": user.password
})
json.dump(users_db, open('users.json', 'w'), indent = 4)
return {'user': user.username}
full code
from fastapi import FastAPI
from pydantic import BaseModel
from uuid import uuid4
import json
users_db = json.load(open('users.json', 'r'))
class User(BaseModel):
username : str
password : str
app = FastAPI()
@app.post('/add_user')
def add_user(user : User):
users_db['users'].append({
"id": str(uuid4()),
"username": user.username,
"password": user.password
})
json.dump(users_db, open('users.json', 'w'), indent = 4)
return {'user': user.username}
Now we are redy to add new user
import requests
data = {
'username': 'test123',
'password': '123'
}
res = requests.post('http://127.0.0.1:8000/add_user', json=data)
print(res.json())
result
{'user': 'test123'}
Now we're done π€
Don't forget to like and follow π
Support me on PayPal π€
https://www.paypal.com/paypalme/amr396