你可以在 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"
)

我们看下实现后的效果,

你也可以使用参数 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'])

最后的效果

文档 URLs

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

  • Swagger UI:服务于 /docs

    • 可以使用参数 docs_url 设置它的 URL。

    • 可以通过设置 docs_url=None 禁用它。

  • ReDoc:服务于 /redoc

    • 可以使用参数 redoc_url 设置它的 URL。

    • 可以通过设置 redoc_url=None 禁用它。

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

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

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

我们启动后看下。

必须要访问新的地址

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

文章首发在公众号,欢迎关注。

FastAPI 学习之路(三十七)元数据和文档 URL的更多相关文章

  1. FastAPI 学习之路(十七)上传文件

    系列文章: FastAPI 学习之路(一)fastapi--高性能web开发框架 FastAPI 学习之路(二) FastAPI 学习之路(三) FastAPI 学习之路(四) FastAPI 学习之 ...

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

    系列文章: FastAPI 学习之路(一)fastapi--高性能web开发框架 FastAPI 学习之路(二) FastAPI 学习之路(三) FastAPI 学习之路(四) FastAPI 学习之 ...

  3. FastAPI 学习之路(十八)表单与文件

    系列文章: FastAPI 学习之路(一)fastapi--高性能web开发框架 FastAPI 学习之路(二) FastAPI 学习之路(三) FastAPI 学习之路(四) FastAPI 学习之 ...

  4. FastAPI 学习之路(十九)处理错误

    系列文章: FastAPI 学习之路(一)fastapi--高性能web开发框架 FastAPI 学习之路(二) FastAPI 学习之路(三) FastAPI 学习之路(四) FastAPI 学习之 ...

  5. FastAPI 学习之路(三)

    系列文章: FastAPI 学习之路(一)fastapi--高性能web开发框架 FastAPI 学习之路(二) 之前的文章分享了如何去创建一个简单的路径的请求.那么我们这次分享的如何在请求路径中,增 ...

  6. FastAPI 学习之路(十二)接口几个额外信息和额外数据类型

    系列文章: FastAPI 学习之路(一)fastapi--高性能web开发框架 FastAPI 学习之路(二) FastAPI 学习之路(三) FastAPI 学习之路(四) FastAPI 学习之 ...

  7. FastAPI 学习之路(八)路径参数和数值的校验

    系列文章: FastAPI 学习之路(一)fastapi--高性能web开发框架 FastAPI 学习之路(二) FastAPI 学习之路(三) FastAPI 学习之路(四) FastAPI 学习之 ...

  8. FastAPI 学习之路(十)请求体的字段

    系列文章: FastAPI 学习之路(一)fastapi--高性能web开发框架 FastAPI 学习之路(二) FastAPI 学习之路(三) FastAPI 学习之路(四) FastAPI 学习之 ...

  9. FastAPI 学习之路(六)查询参数,字符串的校验

    系列文章: FastAPI 学习之路(一)fastapi--高性能web开发框架 FastAPI 学习之路(二) FastAPI 学习之路(三) FastAPI 学习之路(四) FastAPI 学习之 ...

随机推荐

  1. shell循环之跳出循环

    1.break break命令允许跳出所有循环(终止执行后面的所有循环). 下面的例子中,脚本进入死循环直至用户输入数字大于5.要跳出这个循环,返回到shell提示符下,需要使用break命令. #! ...

  2. 【机器学习|数学基础】Mathematics for Machine Learning系列之线性代数(1):二阶与三阶行列式、全排列及其逆序数

    @ 目录 前言 二阶与三阶行列式 二阶行列式 三阶行列式 全排列及其逆序数 全排列 逆序数 结语 前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出-   自我介绍 ...

  3. 依赖注入Bean属性——手动装配Bean

    一.构造方法注入 其中,可以根据不同的参数列表调用不同的重载的构造方法: 其中,基本数据类型没有包,引用类型都有包路径,基本类型对应封装类: 二.通过property标签调用类的set方法注入 三.通 ...

  4. 使用dubbo-go搭建dubbo接口测试平台

    背景 http接口测试只需要一个curl命令,但dubbo协议没有这样的现成接口测试工具.通常公司内的dubbo控制台或其他平台会集成一个dubbo接口测试工具. 调用一个dubbo接口,需要知道服务 ...

  5. Storm近年的发展

    storm作为第一款大数据领域的流式计算引擎,在2013年推出之后风头一时无二.后续虽然有spark streaming也作为流式计算的引擎,但storm依然在流式计算的江湖占有稳定的地位.直到201 ...

  6. android开发使用jxl创建Excel

    这周水了几天,今天把博客赶上,找找状态. 周五的时候终于完成了课堂测试第二阶段,主要的难点就是生成Excel表并将填写的数据插入到Excel表中. 一.jxl使用 1.创建或读取一个工作薄 Workb ...

  7. PDO操作大数据对象

    一般在数据库中,我们保存的都只是 int . varchar 类型的数据,一是因为现代的关系型数据库对于这些内容会有很多的优化,二是大部分的索引也无法施加在内容过多的字段上,比如说 text 类型的字 ...

  8. 使用metaweblog API实现通用博客发布 之 本地图片自动上传以及替换路径

    使用metaweblog API实现通用博客发布 之 本地图片自动上传以及替换路径 通过metaweblog API 发布博文的时候,由于markdown中的图片路径是本地路径,将导致发布的文章图片不 ...

  9. Jmeter系列(28)- 性能指标(1) | 常见性能指标

    TPS 概念 TPS (transaction per second):意思是每秒事务数,具体事务的定义,都是人为的,可以一个接口.多个接口.一个业务流程等等.一个事务是指事务内第一个请求发送到接收到 ...

  10. 超详细的VMware安装ubuntu教程

    确定,然后重启.