zoukankan      html  css  js  c++  java
  • FastAPI--快速入门(1)

    一、简介

    FastAPI 是一个高性能 Web 框架,用于构建 API。

    主要特性:

    • 快速:非常高的性能,与 NodeJS 和 Go 相当
    • 快速编码:将功能开发速度提高约 200% 至 300%
    • 更少的错误:减少约 40% 的人为错误
    • 直观:强大的编辑器支持,自动补全无处不在,调试时间更少
    • 简易:旨在易于使用和学习,减少阅读文档的时间。
    • 简短:减少代码重复。
    • 稳健:获取可用于生产环境的代码,具有自动交互式文档
    • 基于标准:基于并完全兼容 API 的开放标准 OpenAPI 和 JSON Schema

    官方链接:https://fastapi.tiangolo.com/

    二、第一个Hello World

    注意事项,因为FastAPI仅支持Python3.6+的API,所以需要再Python3.6+的环境进行学习实践!

    安装依赖

    FastAPI - 是一个现代的,快速(高性能)python web框架

    pip3 install fastapi

    uvicorn - 主要用于加载和提供应用程序的服务器.

    pip3 install uvicorn

    Hello World

    main.py

    import uvicorn
    from fastapi import FastAPI
    
    app = FastAPI()
    
    @app.get("/")
    async def root():
        return {"message": "Hello World"}
    
    if __name__ == '__main__':
        uvicorn.run(app='main:app', host="127.0.0.1", port=8000, reload=True, debug=True)

    参数解释:

    app = FastAPI() 用于实例化 FastAPI类,通常app这个变量会设置成全局的,至少在当前模块作用域有效。

    @app.get("/") 是一个装饰器,在这里的作用是将普通的Python函数变成一个get请求接口 ("/")表示url是根目录主页。

     至于函数里的代码就很好理解了,定义了一个函数,然后return 了一个字典,表示接口被访问时默认会返回一个JSON格式的数据回去(当然也可以return别的数据格式,例如字符串、列表等)。

    uvicorn.run(app='main:app', host="127.0.0.1", port=8000, reload=True, debug=True)

    表示使用uvicorn启动当前目录下main.py这个文件里的app实例

    reload=True的意思是文件内容变更后自动重启服务,便于开发调试。

    启动程序,使用pycharm启动,或者在命令行模式下启动

    python3 main.py

    访问首页

    http://127.0.0.1:8000/

    效果如下:

    API文档交互

    http://127.0.0.1:8000/docs

    你将会看到自动生成的API交互文档(由 Swagger UI提供):

    可选的API文档

    http://127.0.0.1:8000/redoc

    你将会看到自动生成的可选的API文档(由(provided by ReDoc提供):

    本文参考链接:

    http://www.zyiz.net/tech/detail-119883.html

    https://www.jianshu.com/p/94710ed35b92

  • 相关阅读:
    BUPT复试专题—最小距离查询(2013)
    BUPT复试专题—中序遍历序列(2013)
    BUPT复试专题—统计节点个数(2013)
    BUPT复试专题—日期(2013)
    BUPT复试专题—内存分配(2014-2)
    BUPT复试专题—图像识别(2014-2)
    Catch That Cow(BFS)
    Pet(hdu 4707 BFS)
    Knight Moves(BFS,走’日‘字)
    Lost Cows(BIT poj2182)
  • 原文地址:https://www.cnblogs.com/xiao987334176/p/13097891.html
Copyright © 2011-2022 走看看