• FastAPI 学习之路(二十)接口文档配置相关


    我们都知道,fastApi给我们提供了接口文档,在我们的实际开发中,我们会有很多的接口,有些接口需要分组,比如我们对于登录注册相关的模块,可以统一放在登录,那么我们如何实现划分呢。

    1. from fastapi import FastAPI
    2. app = FastAPI()
    3. @app.post("/login", tags=["login"])
    4. def login(username: str, password: str):
    5. if username == "lc" and password == "123":
    6. return "success"
    7. return {"msg": "name or password error"}
    8. @app.post("/register", tags=["login"])
    9. def resgister(username: str, password: str):
    10. return {"msg": "success"}

    我们看下,接口文档

    可以看到,我们实现的登录的模块是成功的。

     我们来看下,如何对接口增加一个简单的描述(增加description参数)

    1. from fastapi import FastAPI
    2. app = FastAPI()
    3. @app.post("/login", tags=["login"], description="这是登录接口")
    4. def login(username: str, password: str):
    5. if username == "lc" and password == "123":
    6. return "success"
    7. return {"msg": "name or password error"}
    8. @app.post("/register", tags=["login"])
    9. def resgister(username: str, password: str):
    10. return {"msg": "success"}

    再看下接口 

     如果我们想要把所有的注释以给读取出来,然后展示在描述中,fastapi也给我们做了很好的封装,我们可以简单的看下代码

    1. from fastapi import FastAPI
    2. app = FastAPI()
    3. @app.post("/login", tags=["login"], summary="这是登录接口")
    4. def login(username: str, password: str):
    5. """
    6. 登录
    7. :param username: 用户名
    8. :param password: 密码
    9. :return: 是否成功
    10. """
    11. if username == "lc" and password == "123":
    12. return "success"
    13. return {"msg": "name or password error"}
    14. @app.post("/register", tags=["login"])
    15. def resgister(username: str, password: str):
    16. return {"msg": "success"}

    我们看下最后的实现的效果

     如果我们要标注接口弃用怎么实现呢?(增加deprecated参数)

    1. from fastapi import FastAPI
    2. app = FastAPI()
    3. @app.post("/login", tags=["login"], summary="这是登录接口")
    4. def login(username: str, password: str):
    5. """
    6. 登录
    7. :param username: 用户名
    8. :param password: 密码
    9. :return: 是否成功
    10. """
    11. if username == "lc" and password == "123":
    12. return "success"
    13. return {"msg": "name or password error"}
    14. @app.post("/register", tags=["login"], deprecated=True)
    15. def resgister(username: str, password: str):
    16. return {"msg": "success"}

    看下效果 

  • 相关阅读:
    java计算机毕业设计校园环境保护监督系统源代码+系统+数据库+lw文档
    Java 官方提供了哪几种线程池,分别有什么特点?
    django连接达梦数据库
    Django知识
    Mac环境下 gmssl编译iOS静态库
    CVPR 2023截止时间
    51、前端代码单元测试怎么做?
    迁移学习、领域自适应、多源迁移学习、多任务学习
    回归预测 | MATLAB实现2-DCNN卷积神经网络多输入单输出回归预测
    中国大陆IP段(含港澳)【2022-08-13】
  • 原文地址:https://blog.csdn.net/myli_binbin/article/details/126546100