基于RESTful的FastAPI服务模板

FastAPI 是一个高性能 Web 框架,也是一个Python包,用于构建 API,适合利用极少的代码搭建服务器后端,实现前后端分离。

RESTful API 就是REST风格的API。现在终端平台多样,移动、平板、PC等许多媒介向服务端发送请求后,如果不适用RESTful API,需要为每个平台的数据请求定义相应的返回格式,以适应前端显示。但是RESTful API 要求前端以一种预定义的语法格式发送请求,那么服务端就只需要定义一个统一的响应接口,不必像之前那样解析各色各式的请求。
常见的API方法

基于RESTful的FastAPI服务模板_第1张图片
需要使用的Python包:fastapi和uvicorn。

代码

import uvicorn
from fastapi import FastAPI, Query, Form, APIRouter, File, UploadFile
from fastapi.middleware.cors import CORSMiddleware
import time
import os


app = FastAPI()
router = APIRouter()


@router.get('/fetch_project')
async def fetch_project():
    start = time.time()
    return {'time': time.time() - start, 'data': ''}



@router.post('/add')
async def add(
        name: str = Form(..., description='name', example='Name'),
        color: str = Form(..., description='color', example='#00CCFF')
):
    start = time.time()
    print(name, color)
    return {'time': time.time() - start}


@router.put('/change')
async def change(
        f_id: str = Form(..., description='file id', example='Name'),
):
    start = time.time()
    print(f_id)
    return {'time': time.time() - start}


@router.delete('/delete')
async def delete(
        c_id: str = Query(..., description='label/class id', example='4beb867cdeba4f259d9202f5bc58a47c')
):
    start = time.time()
    print(c_id)
    return {'time': time.time() - start}



app.include_router(router)

app.add_middleware(
    CORSMiddleware,
    allow_origins=["*"],
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)

if __name__ == '__main__':
    uvicorn.run(app=app, host="127.0.0.1", port=8000, workers=1)

更多
FastAPI搭建文件上传服务器

更多内容访问 omegaxyz.com
网站所有代码采用Apache 2.0授权
网站文章采用知识共享许可协议BY-NC-SA4.0授权
© 2020 • OmegaXYZ-版权所有 转载请注明出处

你可能感兴趣的:(徐奕的专栏,web,python,python,web)