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

      

  • 相关阅读:
    祝大家光棍节快乐!
    [Spring] Oracle TopLink O/R Mapping integrates Spring.
    VS2005 vs Eclipse, functions i expected.
    [English] Adverb for link (Chinese)
    有几个Gmail的Invitation
    Experience online service of MS small business (bCentral)
    多态(Polymorphism)
    Check your site and build meta tags for search engines
    关于怎样用javascript判断网页上我们想要必须选择的复选框至少选择一个的问题
    关于在VS2010中学习c++的MFC
  • 原文地址:https://www.cnblogs.com/bugoobird/p/13124092.html
Copyright © 2020-2023  润新知