国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

FastApi-1-結合sql 增/查demo

這篇具有很好參考價值的文章主要介紹了FastApi-1-結合sql 增/查demo。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

FastAPI學習記錄

fastapi已經學習有一段時間,今天抽時間簡單整理下。

官網介紹:
FastAPI 是一個用于構建 API 的現代、快速(高性能)的 web 框架,使用 Python 3.6+ 并基于標準的 Python 類型提示。

  • 快速:可與 NodeJS 和 Go 并肩的極高性能(歸功于 Starlette 和 Pydantic)最快的 Python web 框架之一。

  • 高效編碼:提高功能開發(fā)速度約 200% 至 300%。*

  • 更少 bug:減少約 40% 的人為(開發(fā)者)導致錯誤。* 智能:極佳的編輯器支持。處處皆可自動補全,減少調試時間。

  • 簡單:設計的易于使用和學習,閱讀文檔的時間更短。 簡短:使代碼重復最小化。通過不同的參數聲明實現豐富功能。bug 更少。

  • 健壯:生產可用級別的代碼。還有自動生成的交互式文檔。 標準化:基于(并完全兼容)API 的相關開放標準:OpenAPI
    (以前被稱為Swagger) 和 JSON Schema。

如果還沒學過的同學可先了解,如 pydantic、fastapi、sqlalchemy、請求/響應模型等有一定認識。
以下分享本次所學習的資料:

本次學習視頻(推薦):https://www.imooc.com/video/22971
fastapi:https://fastapi.tiangolo.com/zh
pydantic 官方文檔:https://docs.pydantic.dev
pydantic 支持所有的類型:https://docs.pydantic.dev/usage/types

項目結構

fastapi基本大同小異
FastApi-1-結合sql 增/查demo,fastapi,sql,數據庫
如果是多個應用則可以再往上提一層,如 admin 下的,app下的等等

部分接口/代碼展示

僅僅剛開始學習,增刪查改目前只涉及,增、查,未有刪改相信也是會很快上手的。
個人感覺主要是 pydantic schemas 這塊要梳理清楚,增刪查改該怎樣編排,使得在編碼時更方便。
全部代碼將放在最后!
接口文檔打開鏈接:http://127.0.0.1:8000/docs/ppl/index
FastApi-1-結合sql 增/查demo,fastapi,sql,數據庫

from fastapi import APIRouter, Depends, status
from sqlalchemy.orm import Session
from fastapi.responses import JSONResponse
from models.database import Base, engine, get_db
from schemas import schema_user
from cruds import crud_user

api_user = APIRouter()
Base.metadata.create_all(bind=engine)


@api_user.post('/add', response_model=schema_user.GetUser)
def add_user(user: schema_user.CreateUser, work: schema_user.CreateWork, db: Session = Depends(get_db)):
    if crud_user.get_user(db, phone=user.phone):
        return JSONResponse(status_code=status.HTTP_400_BAD_REQUEST, content={
            'code': 0,
            'message': '該手機號已被注冊'
        })
    return crud_user.add_user(db, user, work)


@api_user.get('/get', response_model=schema_user.GetUser)
def get_user(id: int = None, phone: int = None, db: Session = Depends(get_db)):
    user = crud_user.get_user(db, id, phone)
    if not user: return JSONResponse(status_code=status.HTTP_200_OK, content={})
    return user


@api_user.get('/list', response_model=list[schema_user.GetUser])
def list_user(skip: int = 1, limit: int = 10, db: Session = Depends(get_db)):
    user_list = crud_user.get_user(db, skip=skip, limit=limit)
    if not user_list: return JSONResponse(status_code=status.HTTP_200_OK, content=[])
    return user_list

感受

值得學習,pydantic 真不錯,但是類似編排是比較麻煩了點,可能是本人代碼量還不夠、不熟練等因素,不過也準備能開始無腦增刪查改!??!還需要學習jwt鑒權、中間件、redis,異步后臺任務、日志記錄等等。
docs接口文檔真不賴,生成可視化文檔、標注等,直接能調試…方便!

全部代碼

右鍵點我(gitee)文章來源地址http://www.zghlxwxcb.cn/news/detail-653554.html

到了這里,關于FastApi-1-結合sql 增/查demo的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • vue3+Naive UI+fastapi 前后端分離 Pagination 數據分頁實戰(zhàn)演練

    vue3+Naive UI+fastapi 前后端分離 Pagination 數據分頁實戰(zhàn)演練

    記錄一次vue3+Naive UI+fastapi 前后端分離 Pagination 數據分頁實戰(zhàn)演練的過程。 Naive UI 是一個 Vue3 的組件庫。 FastAPI 是一個用于構建 API 的現代、快速(高性能)的 web 框架,使用 Python 3.6+ 并基于標準的 Python 類型提示。 fastapi-backend 后端目錄 vue-frontend 前端目錄 這里我只貼一些關

    2024年02月06日
    瀏覽(46)
  • 【FastAPI】P1 安裝與第一個 FastAPI 應用

    【FastAPI】P1 安裝與第一個 FastAPI 應用

    FastAPI 是用于快速構建 API 的 web 框架,依賴 Python 3.8 及更高版本。使用 pip 命令安裝 fastapi : 安裝異步處理 ASGI 的服務器 Uvicorn : 補充知識: Uvicorn 是 ASGI 的一個實現,它基于 Starlette 和 Uvicorn 的異步服務器,能夠為 Django、FastAPI 等應用提供高性能的服務。 ASGI 異步處理服務

    2024年02月20日
    瀏覽(14)
  • fastapi 入門系列

    大綱 1.1 什么是FastAPI 1.1 什么是FastAPI FastAPI是一個現代、快速(高性能)的Web框架,用于構建API。它基于Python 3.7+的類型提示(type hints)和異步編程(asyncio)能力,使得代碼易于編寫、閱讀和維護。FastAPI具有自動交互式文檔(基于OpenAPI規(guī)范和JSON Schema)、數據驗證、依賴注入

    2024年02月07日
    瀏覽(25)
  • fastapi-跨域、靜態(tài)文件添加

    可以參考這個博客 https://blog.csdn.net/weixin_43361136/article/details/129300966 可以參考下面的博客 https://blog.csdn.net/bosivip/article/details/128141950

    2024年02月13日
    瀏覽(19)
  • fastapi篇(一)

    fastapi是一個高性能的web開發(fā)框架 性能極高,可與 NodeJS, Go 媲美。(得益于Starlette和Pydantic)。 Starlette 是一個輕量級 ASGI 框架/工具包。它非常適合用來構建高性能的 asyncio 服務,并支持 HTTP 和 WebSockets。 官方網址:https://www.starlette.io/ ? Pydantic 是一個使用Python類型提示來進行數

    2024年02月03日
    瀏覽(21)
  • FastAPI(七)應用配置

    FastAPI(七)應用配置

    目錄 一、在apps下新建文件夾config 二、新建配置文件app_conf.py ? 一、在apps下新建文件夾config 二、新建配置文件app_conf.py ?

    2024年02月14日
    瀏覽(22)
  • FastAPI 使用記錄

    core/worker.py fast_api.py requsts test

    2024年02月07日
    瀏覽(12)
  • FastAPI 5 - 依賴、安全

    學習自:FastAPI教程第二季(三):依賴+安全(最快python異步并發(fā)web框架之一) https://www.bilibili.com/video/BV1p7411Z736 官方說明

    2024年02月14日
    瀏覽(19)
  • 【FastAPI】路徑參數(二)

    【FastAPI】路徑參數(二)

    如果你有一個接收路徑參數的路徑操作,但你希望預先設定可能的有效參數值,則可以使用標準的 Python Enum 類型。 導入 Enum 并創(chuàng)建一個繼承自 str 和 Enum 的子類。通過從 str 繼承,API 文檔將能夠知道這些值必須為 string 類型并且能夠正確地展示出來。 然后創(chuàng)建具有固定值的類

    2024年01月17日
    瀏覽(28)
  • FastAPI 基本使用(一)

    FastAPI 基本使用(一)

    ? 目錄 ?編輯 1、基本介紹? 2、運行方式 3、創(chuàng)建接口步驟 4、自動生成API文檔 4.1 交互式API文檔 4.2?備用API文檔 5、FastApi 執(zhí)行順序 6、Python-Pydantic庫 6.1?BaseModel模型 6.2?請求體 + 路徑參數 + 查詢參數 7、Query/Path/Body/Field 參數(額外的校驗) 與 字符串驗證 8、typing類型注解 8.1 常

    2024年02月08日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包