zoukankan      html  css  js  c++  java
  • 1FastAPI新建服务

    创建基础服务

    from fastapi import FastAPI
    from pydantic import BaseModel
    
    app = FastAPI()  # 实例化app
    
    
    # 创建接口函数
    @app.get('/')
    def hellow_world():
        return {'hello_world'}
    
    
    

    请求传参

    
      # 创建校验类用来校验传参
    class Hellow(BaseModel):
        # 必填字符串类型
        hallow: str
        # 选填布尔类型,有默认值
        world: bool = None
          
    
    # 获取路径传参
    @app.get('/{parameter}')
    # 所有的查询参数(/?queryParameter=dd)
    def hellow_world(parameter: str, queryParameter: str = None):
        return {'路径参数': parameter, '查询参数': queryParameter}
    
    
    # 获取路径传参
    @app.put('/{parameter}')
    # 所有的查询参数(/?queryParameter=dd)
    def hellow_world(parameter: str, queryParameter: Hellow):
        return {'路径参数': parameter, '查询参数': queryParameter.hallow}
    
      
      
    # 如果想使用异步api在函数前添加async:
    # 获取路径传参
    @app.get('/{parameter}')
    # 所有的查询参数(/?queryParameter=dd)
    async def hellow_world(parameter: str, queryParameter: str = None):
        return {'路径参数': parameter, '查询参数': queryParameter}
    

    交互文档

    http://127.0.0.1:8000/docs

    http://127.0.0.1:8000/redoc

    启动服务

    命令行启动

    
    # 启动命令:uvicorn 文件名:实例名
    # 修改文件自动重启命令
    # 启动命令:uvicorn hello_world:app --reload
    

    配置pycharm启动服务

    image-20211204222839030

    脚本文件启动

    # 导入 uvicorn
    import uvicorn
    """
    app 程序
    """
    if __name__ == '__main__':
      """
      reload:修改文件自动重启。
      debug:debug模式。
      workers:设置进程数量。
      """
        uvicorn.run('run:app', host='0.0.0.0', port=8000, reload=True, debug=True, workers=1)
    
    
  • 相关阅读:
    String类
    关于 this 关键字的使用
    面向对象案例
    js 保留2位小数
    label包裹input,点击label响应两次解决方法
    JQuery的datetimepicker插件,起始日期&结束日期相互约束
    JSP JSTL日常使用集锦
    js操作select用法集锦
    js利用window.print实现局部打印方法
    前端开发人员实用Chrome插件集锦
  • 原文地址:https://www.cnblogs.com/oysq/p/15650925.html
Copyright © 2011-2022 走看看