• 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表示修改后文件后自动启动服务
    

      

  • 相关阅读:
    大型网站架构不得不考虑的10个问题
    js中settimeout方法加参数
    shell字符串操作详解
    linux shell 逻辑运算符、逻辑表达式
    c#判断网络连接状态示例代码
    asp.net读取excel文件多种方法
    asp.net导出excel示例代码
    php 数组排序代码
    php数组去重复代码
    php反射应用实例代码
  • 原文地址:https://www.cnblogs.com/bugoobird/p/13124092.html
Copyright © 2020-2023  润新知