你可以在 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. K8s 系列(四) - 浅谈 Informer

    1. 概述 进入 K8s 的世界,会发现有很多的 Controller,它们都是为了完成某类资源(如 pod 是通过 DeploymentController, ReplicaSetControlle ...

  2. scikit-learn 1.0 版本新特性及变动前瞻性预览

    1 简介 就在几天前,著名的机器学习框架scikit-learn在pypi上释放了其1.0rc1版本,这里给大家科普一下,版本号中的rc是Release Candidate的简称,代表当前的版本是一个 ...

  3. 2021.9.12周六PAT甲级考试复盘与总结

    周六PAT甲级考试复盘与总结 先说结论:仍未步入"高手"行列:现在的学习节奏与方法是对的,有十万分的必要坚持下去. 题目 知识点 分数 T1 前缀和.二分 11 / 20 T2 排 ...

  4. AspectJ基于xml和基于注解

    一.基于xml 执行的切入点中具体方法有返回值,则方法结束会立即执行后置通知,然后再执行环绕通知的放行之后的代码: 2.连接点即所有可能的方法,切入点是正真被切的方法,连接点方法名: 其中,只有环绕通 ...

  5. Filter案例之登录验证

    一.登录验证,权限控制 1.需求分析 其中,登录有关的资源被访问时要直接放行,不然会死循环: 2.代码实现

  6. MySQL(3)-日志

    3. InnoDB日志 3.1 InnoDB架构 分为 内存区域架构 buffer pool log buffer 磁盘区域架构 redo log undo log 2.1.1 内存区域架构 1)Bu ...

  7. MySQL查询结果集字符串操作之多行合并与单行分割

    前言 我们在做项目写sql语句的时候,是否会遇到这样的场景,就是需要把查询出来的多列,按照字符串分割合并成一列显示,或者把存在数据库里面用逗号分隔的一列,查询分成多列呢,常见场景有,文章标签,需要吧查 ...

  8. vue中的watch

    1.第一种 watch:{ total:{ // total:要检测的数据   handler:(val,oldVal)=>{ // handler方法自动执行   }, deep:true / ...

  9. Shell系列(14)- declare声明变量

    declare声明变量类型 格式 declare [+/-] [选项] [变量名] 选项 -:给变量设定类型属性 +:取消变量的类型属性 -a :将变量声明为数组型 -i :将变量声明为整数型(int ...

  10. PHP 相对路径转换为绝对路径 realpath

    * 相对路径 -> 绝对路径 realpath <?php /** * @param string $in_rel: relative directory * @param string ...