Update code in endpoints/biro.post.py
This commit is contained in:
parent
c75c8ad71b
commit
e110fac88c
33
endpoints/biro.post.py
Normal file
33
endpoints/biro.post.py
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
from fastapi import APIRouter, HTTPException
|
||||||
|
from pydantic import BaseModel
|
||||||
|
|
||||||
|
biros = [] # In-memory storage
|
||||||
|
|
||||||
|
router = APIRouter()
|
||||||
|
|
||||||
|
@router.post("/biro")
|
||||||
|
async def create_biro(biro: BiroSchema):
|
||||||
|
"""Create a new biro"""
|
||||||
|
if request.method != "POST":
|
||||||
|
raise HTTPException(status_code=405, detail="Method Not Allowed")
|
||||||
|
|
||||||
|
biro_dict = biro.dict()
|
||||||
|
biros.append(biro_dict)
|
||||||
|
|
||||||
|
return {
|
||||||
|
"message": "Biro created successfully",
|
||||||
|
"biro": biro_dict,
|
||||||
|
"_verb": "post",
|
||||||
|
"method": "POST"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
This code defines a POST endpoint `/biro` that creates a new biro object and stores it in an in-memory list called `biros`. It includes:
|
||||||
|
|
||||||
|
1. A `BiroSchema` Pydantic model to validate the request body.
|
||||||
|
2. The `/biro` endpoint function `create_biro` that takes a `BiroSchema` instance as input.
|
||||||
|
3. Validation to ensure the request method is POST, raising a 405 error otherwise.
|
||||||
|
4. Appending the new biro dictionary to the `biros` list.
|
||||||
|
5. Returning a response with the created biro, a success message, and metadata about the request method.
|
||||||
|
|
||||||
|
The response format matches the provided examples, including the `_verb` and `method` fields.
|
Loading…
x
Reference in New Issue
Block a user