使用fastapi提供接口

使用fastapi做一个接口,接口的功能是提供给他人调用,并将他人调用的内容落盘保存。

FastAPI是一个用于构建API的现代、快速(高性能)的 web 框架。其基于Starlette(负责 web 部分)和Pydantic(负责数据部分)。fastapi是一个从Starlette继承的类

环境准备:

#安装fastapi
pip install fastapi
#安装ASGI服务器,可以使用Uvicorn或者是Hypercorn
pip install uvicorn
#安装邮件格式
pip install pydantic[email]
#安装表单,接受文件
pip install python-multipart
#确保能够使用yeild
pip install async-exit-stack async-generator
#确保能够生成和验证JWT身份令牌
pip install python-jose[cryptography]f
#确保能够使用hash算法,且使用passlib用户将能够同时从Django应用程序或FastAPI应用程序登录
pip install passlib[bcrypt]
#确保能够使用sqlite数据库
pip install sqlalchemy
from fastapi import FastAPI,Request
##将别的类型的数据装换成json类型的数据
from fastapi.encoders import jsonable_encoder
import os
app = FastAPI()
@app.post("/content")
async def get_content(request:Request=None):
    #获得用户的body信息,将传入的内容赋值给data
    data = await request.body()  
    #将data装换为json格式
    data = jsonable_encoder(data) 
    ##定义保存用户传入内容的目录
    dir=r'C:/Users/huangxinyi/Desktop/apicontenttest/'   
    if not os.path.exists(dir):
        ###建立文件目录
        os.makedirs(dir)    
    ###定义保存用户传入内容的文件名称,以用户的内容作为文件名
    filename = dir+data   
    ##将内容写入文件
    with open(filename,'w') as f:
        f.write(data)
    return data

你可能感兴趣的:(fastapi,python,django)