FastAPI实现CRUD操作示例

作者:佚名 上传时间:2023-04-25 运行软件:Visual Studio Code 软件版本:Python 3.8, FastAPI 0.68.0, SQLAlchemy 1.4.22 版权申诉

本示例展示了如何使用FastAPI框架实现一个简单的CRUD应用,包括创建、读取、更新和删除。使用SqlAlchemy作为ORM框架,并通过SQLite进行数据存储。

'''
from fastapi import FastAPI, HTTPException
from sqlalchemy.orm import Session
from . import crud, models, schemas
from .database import SessionLocal, engine

models.Base.metadata.create_all(bind=engine)

app = FastAPI()

# 获取数据库会话
def get_db():
    db = SessionLocal()
    try: 
        yield db
    finally:
        db.close()

# 创建一个模型对象,并保存到数据库中
@app.post("/items/", response_model=schemas.Item)
def create_item(item: schemas.ItemCreate, db: Session = Depends(get_db)):
    return crud.create_item(db=db, item=item)

# 根据id获取模型对象
@app.get("/items/{item_id}", response_model=schemas.Item)
def read_item(item_id: int, db: Session = Depends(get_db)):
    db_item = crud.get_item(db=db, item_id=item_id)
    if db_item is None:
        raise HTTPException(status_code=404, detail="Item not found")
    return db_item

# 更新模型对象
@app.put("/items/{item_id}", response_model=schemas.Item)
def update_item(item_id: int, item: schemas.ItemUpdate, db: Session = Depends(get_db)):
    db_item = crud.get_item(db=db, item_id=item_id)
    if db_item is None:
        raise HTTPException(status_code=404, detail="Item not found")
    return crud.update_item(db=db, item=item, db_item=db_item)

# 删除模型对象
@app.delete("/items/{item_id}")
def delete_item(item_id: int, db: Session = Depends(get_db)):
    db_item = crud.get_item(db=db, item_id=item_id)
    if db_item is None:
        raise HTTPException(status_code=404, detail="Item not found")
    crud.delete_item(db=db, db_item=db_item)
    return {"detail": "Item deleted"}

免责申明:文章和图片全部来源于公开网络,如有侵权,请通知删除 server@dude6.com

用户评论
相关推荐
FastAPICRUD
本示例展示了如何使用FastAPI框架实现一个简单的CRUD应用,包括创建、读取、更新和删除。使用SqlAlchemy作为ORM框架,并通过SQLite进行数据存储。'''from fastapi
Python 3.8, FastAPI 0.68.0, SQLAlchemy 1.4.22
Visual Studio Code
2023-04-25 00:30
FastAPI异步CRUD
本示例展示如何使用FastAPI和asyncpg库实现异步的CRUD操作,包括增、删、改、查四种基本操作,而且具有高性能和可伸缩性。from fastapi import FastAPIimpor
FastAPI 0.63.0
Python
2023-05-23 07:29
使用FastAPI基本的CRUD
本示例代码展示了如何使用FastAPI和SQLAlchemy实现基本的数据库CRUD(增删改查)操作。使用HTTP请求方法对相应的API端点进行访问,支持POST、GET、PUT、DELETE请求。
FastAPI-0.68.1
Python
2023-04-25 13:35
用FlaskCRUD
这个示例代码演示了如何在Flask中实现对一个简单数据库的CRUD操作(创建、读取、更新、删除),并且使用了Flask-WTF扩展来实现表单验证。具体来说,示例代码提供了一个Web应用程序,用户可以创
Flask 1.1.2, Flask-WTF 0.14.3, SQLAlchemy 1.4.15
Python 3.8.5
2023-03-12 20:56
使用 Express.js CRUD
本示例展示了如何基于 Express.js 快速搭建后端服务器,并实现其中最基本的 CRUD 操作(Create, Read, Update, Delete),以操作用户信息为例。const exp
Express.js 4.17.1
Visual Studio Code
2023-04-20 07:39
使用FastAPI和MongoDB基本的CRUD
本示例代码演示了如何使用FastAPI和MongoDB实现基本的CRUD(创建、读取、更新、删除)操作,包括路由配置、模型定义、数据访问等。# 导入所需模块from fastapi import
Python 3.8.1,FastAPI 0.61.2,MongoDB 4.4.1
PyCharm 2020.1
2023-05-29 10:00
Yii2中CRUD代码
本示例代码展示了Yii2框架中如何快速实现CRUD操作,使用了ActiveRecord和Gii工具,方便快捷。其中包括实现添加、查看、编辑和删除等操作,适用于初学者学习和实际开发。//添加操作pu
Yii2
PHPStorm
2023-03-19 18:41
fastapi_crud源码
fastapi_crud 这是FastAPI后端+前端应用程序的示例。 在此应用程序中将进行探索: 使用4种前端请求方法(POST,GET,PUT,DELETE)与API进行交互 使用Javascri
ZIP
26KB
2021-02-22 09:38
使用GrailsCRUD代码
通过Grails框架实现增删改查操作的示例代码,使用Grails内置的CRUD插件,非常方便快捷。//控制器层代码class BookController { static scaffo
Grails 3.0+
Grails
2023-04-01 15:53
Google Cloud DatastoreCRUD的代码
Google Cloud Datastore是一款非关系型数据库,提供了高度可扩展的存储方案。本文将介绍如何使用Python来实现Google Cloud Datastore的CRUD(增删改查)操作
2.2.0
Python
2023-04-10 03:56