zoukankan      html  css  js  c++  java
  • FastAPI框架快速构建高性能的api服务

    https://cloud.tencent.com/developer/article/1431448

    使用FastAPI可以非常快速的构建出一套高性能的api服务。下面通过实战演示一下:

    fastapi目前仅支持python 3.6+以上版本。

    一、安装fastapi和uvicorn

    pip install fastapi
    pip install uvicorn

    二、新建一个main.py文件,编写如下代码

    from fastapi import FastAPI
    
    app = FastAPI()
    
    @app.get("/")
    def read_root():
        return {"Hello": "World"}
    
    @app.get("/items/{item_id}")
    def read_item(item_id: int, q: str = None):
        return {"item_id": item_id, "q": q}

    三、运行接口服务

    在命令行,执行下面的命令

    uvicorn main:app --reload

    四、请求接口

    运行成功后在浏览器打开http://127.0.0.1:8000 ,你将在一个JSON格式响应结果:

    {'hello':'world'}

    再次在浏览器打开http://127.0.0.1:8000/items/5?q=somequery,你将在一个如下JSON格式响应结果:

    {'item_id':5,'q':'somequery'}

    五、可视化API文档

    现在在浏览器中打开http://127.0.0.1:8000/docs,你会看到一个可以交互的api文档

    你也可以其他方法的装饰器:

    • @app.post()
    • @app.put()
    • @app.delete()

    还有一些比较少见的方法的装饰器:

    • @app.options()
    • @app.head()
    • @app.patch()
    • @app.trace(


    建议

    你可以使用任意的HTTP方法.

    FastAPI不强制任何特定函数。

    此处提供的信息,仅供参考,并非必需。

    例如,当使用 GraphQL , 你通常会只执行post方法

    总结

    • Import FastAPI.
    • 创建一个 app 实例.
    • 编写一个 路径操作装饰器 (比如@app.get("/")).
    • 编写一个路径操作函数 (比如上方的 def root(): ... ).
    • 运行开发服务器(比如uvicorn main:app --reload).

    文档: https://fastapi.tiangolo.com/

    https://www.jianshu.com/p/daf9150c0466

  • 相关阅读:
    [已解决] Python logging 重复打印日志信息
    scrapy
    Python 元编程
    MySQL性能优化 分区
    SQL Mode
    Golang 接口
    Python partial
    栈、队列(链表实现)
    Golang 位向量
    Java50题——学习以及思考
  • 原文地址:https://www.cnblogs.com/neo98/p/12250730.html
Copyright © 2011-2022 走看看