FastAPI 学习之路(三十七)元数据和文档 URL

简介: FastAPI 学习之路(三十七)元数据和文档 URL

 你可以在 FastAPI 应用中自定义几个元数据配置。


你可以设定:


  • Title:在 OpenAPI 和自动 API 文档用户界面中作为 API 的标题/名称使用。
  • Description:在 OpenAPI 和自动 API 文档用户界面中用作 API 的描述。
  • Version:API 版本,例如 v2 或者 2.5.0。


  • 如果你之前的应用程序版本也使用 OpenAPI 会很有用。

我们看下如何使用的


description = """
用户创建和items创建
## Items
你可以读他们
## Users
你可以做下面的:
* **创建用户** 
* **读取用户** .
"""
app = FastAPI(
    title="系统接口",
    description=description,
    version="0.0.1"
)


我们看下实现后的效果,



image.png



你也可以使用参数 openapi_tags,为用于分组路径操作的不同标签添加额外的元数据。

它接受一个列表,这个列表包含每个标签对应的一个字典。


每个字典可以包含:


  • name(必要):一个 str,它与路径操作和 APIRouter 中使用的 tags 参数有相同的标签名。
  • description:一个用于简短描述标签的 str。它支持 Markdown 并且会在文档用户界面中显示。
  • externalDocs:一个描述外部文档的 dict:
  • description:用于简短描述外部文档的 str。
  • url(必要):外部文档的 URL str。


使用方式


from fastapi import FastAPI
from routers.user import usersRouter
from routers.items import itemsRouter
tags_metadata = [
    {
        "name": "系统接口",
        "description": """
用户创建和items创建
"""},
    {
        "name": "items",
        "description": "管理items,你可以查看文档",
        "externalDocs": {
            "description": "使用文档",
            "url": "http://localhost:8000/docs#/Itmes",
        },
    },
]
app = FastAPI(
    openapi_tags=tags_metadata
)
app.include_router(usersRouter, prefix="/user", tags=['users'])
app.include_router(itemsRouter, prefix="/items", tags=['Itmes'])


最后的效果


image.png


文档 URLs


你可以配置两个文档用户界面,包括:


  • Swagger UI:服务于 /docs。
  • 可以使用参数 docs_url 设置它的 URL。
  • 可以通过设置 docs_url=None 禁用它。


  • ReDoc:服务于 /redoc。
  • 可以使用参数 redoc_url 设置它的 URL。
  • 可以通过设置 redoc_url=None 禁用它。


我们一直没有看过redoc,我们今天看下


image.png


我们重新定义下对应的文档的地址


app = FastAPI(
    openapi_tags=tags_metadata,
    docs_url="/openapi",
    redoc_url="/apidoc"
)


我们启动后看下。


image.png


必须要访问新的地址

image.png



当然我们也可以禁用,可以根据我们的需求来。



相关文章
|
XML 数据可视化 安全
IIS中的URL Rewrite模块功能学习总结
IIS中的URL Rewrite模块功能学习总结
425 0
IIS中的URL Rewrite模块功能学习总结
|
安全 API
Fastapi交互式文档实现方法讲解
Fastapi交互式文档实现方法讲解
165 0
|
Java
Shiro学习-URL配置细节(六)
Shiro学习-URL配置细节(六)
75 0
|
移动开发 小程序 JavaScript
微信小程序学习实录7(H5嵌入小程序、获取微信收货地址、数组对象url传值、js获取url参数)
微信小程序学习实录7(H5嵌入小程序、获取微信收货地址、数组对象url传值、js获取url参数)
359 0
jira学习案例53-用useUrlQueryParam管理url状态
jira学习案例53-用useUrlQueryParam管理url状态
86 0
jira学习案例53-用useUrlQueryParam管理url状态
|
前端开发
前端学习案例1-输入url到页面呈现的过程1
前端学习案例1-输入url到页面呈现的过程1
87 0
前端学习案例1-输入url到页面呈现的过程1
|
前端开发
前端学习案例2-输入url到页面呈现的过程2
前端学习案例2-输入url到页面呈现的过程2
56 0
前端学习案例2-输入url到页面呈现的过程2
|
数据可视化 前端开发 IDE
Swagger URL 插件上线!同步文档更便捷!
Swagger 的用户有以下几个痛点: - 测试不方便,有简单的调用测试,但是没有历史也没有鉴权等功能; - 没有人员管理,无法协作/通知/版本管理; - 对于前端人员不友好,没有参数描述/值可能性,没有 Mock ; - 对代码有侵入性。
Swagger URL 插件上线!同步文档更便捷!
jira学习案例87-用url参数管理项目
jira学习案例87-用url参数管理项目
91 0
jira学习案例87-用url参数管理项目
jira学习案例88-用url参数管理项目2
jira学习案例88-用url参数管理项目2
92 0
jira学习案例88-用url参数管理项目2