python学习笔记(28)Mock开发---fastapi模块

fastapi模块功能类型flask模块,可进行更加简便的接口开发 

使用前需要安装fastapi和使用uvicorn模块来运行,pip install fastapi    pip install uvicorn

fastapi可自动生成接口文档,接口文档上也可以进行接口测试,地址为  ip:port/docs 

import fastapi
import uvicorn
server = fastapi.FastAPI()#实例化一个服务

#1、get请求无入参的方式
@server.get('/login')
def login():
    data = {"error":0,"msg":'登录成功'}
    return data

#2、get请求有入参的方式
@server.get('/index')
def index(id:int,sex:str):#入参需要指定数据类型
    if sex == 'nan':
        data = {'id':id,'sex':'男'}
    else:
        data = {'id':id,'sex':'女'}
    return data

#3、post请求入参为查询参数,即postman中的params参数
@server.post('/order')
def order(type:str):
    if type == 'success':
        data = {'id':1,'order_amount':10000,'type':type}
    else:
        data = {'id':id,'order_amount':0}
    return data

# 4、post请求入参为Body参数,即postman中的body-formdata参数
#后期使用时在补充吧............

#5、post请求入参为json方式
from pydantic import BaseModel
class User(BaseModel):
    username:str
    password:str
    phone:str
@server.post('/user')
def user(u:User):
    print(u.username)
    print(u.password)
    print(u.phone)
    data = {'code':0,'username':u.username}
    return data

#ip:port/docs   可查看生成的接口文档,文档上可以跑接口
if __name__ == '__main__':#必须通过main函数来启动服务,否则会无法启动服务

    uvicorn.run('fastapitest:server',debug=True,port=9000,host='0.0.0.0')
    #通过uvicorn.run()启动服务,第一个参数格式:  启动服务的文件名:实例化的服务名,debug=True表示修改后文件后自动启动服务

  

posted @ 2020-06-14 11:04  布谷鸟的春天  阅读(591)  评论(0编辑  收藏  举报