python用fastapi快速写一个增删改查的接口

python用fastapi快速写一个增删改查的接口

python 复制代码
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
from typing import Dict

app = FastAPI()

# Mock database
db = {}


# Model for the data
class Item(BaseModel):
    name: str
    description: str


# Create operation
@app.post("/items/")
def create_item(item: Item):
    if item.name in db:
        raise HTTPException(status_code=400, detail="Item already exists")
    db[item.name] = item.description
    return {"message": "Item created successfully"}


# Read operation
@app.get("/items/{name}")
def read_item(name: str):
    if name not in db:
        raise HTTPException(status_code=404, detail="Item not found")
    return {"name": name, "description": db[name]}


# Update operation
@app.put("/items/{name}")
def update_item(name: str, item: Item):
    if name not in db:
        raise HTTPException(status_code=404, detail="Item not found")
    db[name] = item.description
    return {"message": "Item updated successfully"}


# Delete operation
@app.delete("/items/{name}")
def delete_item(name: str):
    if name not in db:
        raise HTTPException(status_code=404, detail="Item not found")
    del db[name]
    return {"message": "Item deleted successfully"}

这段代码设置了一个FastAPI应用程序,其中包含用于创建、读取、更新和删除物品的端点。数据以简单的内存数据库形式存储在字典(db)中。您可以使用诸如curl、Postman或任何其他HTTP客户端之类的工具来测试这些端点。

相关推荐
白夜11177 小时前
C++(不适合使用 CRTP情况)
开发语言·c++·笔记
PSLoverS7 小时前
Layui 2.8版本中table组件的简单模式(simple)怎么开启
jvm·数据库·python
2201_761040597 小时前
C++如何利用YAML存储复杂的数学矩阵_Eigen库结合yaml-cpp用法【实战】
jvm·数据库·python
2301_775148157 小时前
CSS如何实现固定头部布局_利用position-fixed实现顶部常驻
jvm·数据库·python
yejqvow127 小时前
Python测试中如何控制顺序_使用pytest-ordering自定义执行流
jvm·数据库·python
栗少7 小时前
Python 入门教程(面向有 Java 经验的开发者)
java·开发语言·python
草莓熊Lotso7 小时前
Linux C++ 高并发编程:从原理到手撕,线程池全链路深度解析
linux·运维·服务器·开发语言·数据库·c++·mysql
峥嵘life7 小时前
Android 切换用户后无法获取 MAC 地址分析解决
android·python·macos
小王师傅667 小时前
【Java结构化梳理】泛型-上
java·开发语言
m0_613856297 小时前
mysql如何使用IF函数_mysql简单二元逻辑转换
jvm·数据库·python