22
loading...
This website collects cookies to deliver better user experience
POST www.example.com/products
products = [
{"id": 1, "name": "iPad", "price": 599},
{"id": 2, "name": "iPhone", "price": 999},
{"id": 3, "name": "iWatch", "price": 699},
{"id": 4, "name": "MacBook", "price": 1299},
]
@app.post("/products")
def create_product(product: dict, response: Response):
product["id"] = len(products) + 1
products.append(product)
response.status_code = 201
return product
@app.post("/products")
def create_product(product: dict, response: Response):
product["id"] = len(products) + 1
products.append(product)
response.status_code = 201
return product
$ uvicorn first-api:app --reload
Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
http://127.0.0.1:8000/docs
{"name": "MacBook", "price": 1299}
@app.post("/products")
def create_product(product: dict, response: Response):
product["id"] = len(products) + 1
products.append(product)
response.status_code = 201
return product
from pydantic import BaseModel
class Product(BaseModel):
name: str
price: float
@app.post ("/products")
def create_product(new_product: Product, response: Response):
product = new_product.dict()
product["id"] = len(products) + 1
products.append(product)
response.status_code = 201
return product
@app.put("/products/{id}")
def edit_product(id: int, edited_product: Product, response: Response):
for product in products:
if product["id"] == id:
product['name'] = edited_product.name
product['price'] = edited_product.price
response.status_code = 200
return product
else:
response.status_code = 404
return "Product Not found"
@app.delete("/products/{id}")
def destroy_product(id: int, response: Response):
for product in products:
if product["id"] == id:
products.remove(product)
response.status_code = 204
return "Product Deleted"
else:
response.status_code = 404
return "Product Not found"