【web】Fastapi自动生成接口文档(Swagger、ReDoc )

这篇具有很好参考价值的文章主要介绍了【web】Fastapi自动生成接口文档(Swagger、ReDoc )。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简介

FastAPI是流行的Python web框架,适用于开发高吞吐量API和微服务(直接支持异步编程)

FastAPI的优势之一:通过提供高级抽象和自动数据模型转换,简化请求数据的处理(用户不需要手动处理原始请求数据),并能根据路由和 Pydantic 模型自动生成 OpenAPI 接口文档。

  • Swagger UI
  • ReDoc

demo

import uuid
import uvicorn
from typing import Any, Union, Optional
from typing_extensions import Literal
from fastapi import Body, FastAPI
from pydantic import (
    BaseModel,
    Field,
    UUID4
)

app = FastAPI()


class UserIn(BaseModel):
    channel: Literal[0, 1] = Field(0, title="渠道")
    username: str = Field(..., title="用户名")
    password: str = Field(..., title="用户密码", description="长度6-8位")
    email: str = Field(..., title="用户邮箱地址")
    full_name: str = Field(None, title="用户全名")
    request_id: Optional[UUID4]


class UserOut(BaseModel):
    username: str = Field(..., title="用户名")
    email: str = Field(..., title="用户邮箱地址")
    full_name: str = Field(None, title="用户全名")
    request_id: Optional[UUID4]


# FastAPI will take care of filtering out all the data that is not declared in the output model (using Pydantic).
# 因此,FastAPI将负责过滤掉输出模型中未声明的所有数据(使用Pydantic)。

@app.post("/user/", response_model=UserOut)
async def create_user(
        user: UserIn = Body(
            examples={
                "example1": {
                    "summary": "A short summary or description of the example",
                    "value": {
                        # example data here
                        "channel": 0,
                        "username": "Foo",
                        "password": "33759",
                        "email": "chencare@163.com",
                        "full_name": "xiaotao"
                    }
                }
            })
) -> UserOut:
    user.request_id = uuid.uuid4()
    print(user.request_id)
    return user


if __name__ == '__main__':
    uvicorn.run(app=app, access_log=True, port=9988)

运行后,会提示Uvicorn running on http://127.0.0.1:9988 (Press CTRL+C to quit)
fastapi swagger group,前端,fastapi,python,web

在浏览器输入http://127.0.0.1:9988/redoc( ReDoc),http://127.0.0.1:9988/docs(Swagger UI )即可查看

ReDoc 页面如下:
fastapi swagger group,前端,fastapi,python,web

ReDoc vs. Swagger UI

ReDoc更美观,Swagger UI更注重交互(用户直接从界面中发送请求,查看响应,这对于测试和调试 API 非常有用。)文章来源地址https://www.toymoban.com/news/detail-765427.html

到了这里,关于【web】Fastapi自动生成接口文档(Swagger、ReDoc )的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Apifox自动生成接口文档

    官方文档:Apifox - API 文档、调试、Mock、测试一体化协作平台 - 接口文档工具,接口自动化测试工具,接口Mock工具,API文档工具,API Mock工具,API自动化测试工具         打开 IDEA Preferences(Settings) Plugins ,搜索 Apifox Helper 官方地址:Apifox IDEA 插件快速上手 | Apifox 帮助文档

    2024年02月12日
    浏览(43)
  • Python自动化测试——在线生成接口文档

    目录 前言 API 文档导入生成 在项目详情页点击左侧 API 功能,进入 API 管理页面,直接点击下拉框选择导入 API  自动生成文档 通过使用接口文档工具 Eolink 演示如何自动生成文档 使用 API Factory 产品根据数据库生成 API 文档 结语 接口文档是项目开发中必需的说明文档,接口文

    2024年02月07日
    浏览(58)
  • 【Apifox Helper】自动生成接口文档,IDEA+Apifox懒人必备

    🍊缘由 接口文档对接爽,整理起来真费脑 对于 整理API文档 ,本狗秉承偷懒为上的原则,想找一种 在IDEA中直接生成文档 的方法。 Apifox Helper 绝绝子,只需要在 IDEA中下载插件 ,无脑配置后, 文档自动生成到Apifox ,美完美解决。并且 颜值及方便程度 绝比Swagger和postman好太

    2024年02月02日
    浏览(52)
  • FastAPI 自动文档Swagger UI 打不开。显示空白

    这两个文件红了。 1.下载文件 这两个文件的开源项目地址如下 https://github.com/swagger-api/swagger-ui https://github.com/Redocly/redoc 我们只需要提前自己需要的文件即可 这里已经从中抽取出来所需要的文件,需要的可以点击下方连接自行下载 静态文件直达 百度网盘链接: https://pan.baidu

    2024年02月11日
    浏览(51)
  • 自动生成数据库设计文档,支持多数据源批量生成(Word文档)

          在做项目时通常使用PowerDesigner设计数据库,但在项目完成交付项目给客户的时候常常需要一份Word版本的数据库文档给客户,你不能指望每个客户都会用PowerDesigner,所以基于当前开发数据库生成数据库文档就是最佳选择,如果手动编写数据库文档那将是一件非常痛苦的

    2024年04月23日
    浏览(50)
  • gin中使用swagger生成接口文档

    想要使用 gin-swagger 为你的代码自动生成接口文档,一般需要下面三个步骤: 按照swagger要求给接口代码添加声明式注释,具体参照声明式注释格式。 使用swag工具扫描代码自动生成API接口文档数据 使用gin-swagger渲染在线接口文档页面 第一步:添加注释 在程序入口main函数上以

    2024年01月25日
    浏览(41)
  • Apikit 自学日记:自动生成 API 文档

    功能入口 :API管理应用 / 选中某个项目 / 其他菜单 / 数据源同步(API文档自动生成) 该功能可通过配置数据源信息,实现基于数据源的API信息自动生成API文档。 当前支持5种数据源: Swagger URL、apiDoc、Github、gitlab、码云 。 Swagger URL和apiDoc的数据源配置方式一致,仅需填写来

    2024年02月11日
    浏览(52)
  • Mongodb 集合插入文档自动生成ObjectId

    Mongodb 使用以下几种方法来插入文档 , Mongodb V5.0+ 使用 mongosh 客户端: 插入单个文档 db.collection.insertOne() 将单个 文档插入到集合中。 如果该集合当前不存在,则插入操作将创建该集合。 如果文档未指定_id字段,则将在插入之前 mongod 添加该字段并为文档_id分配唯一的字段

    2024年02月12日
    浏览(46)
  • word文档批量生成工具(附免费软件)(按Excel表格内容自动替换内容生成文档)

    批量生成word文档是让人无比厌恶但有时又不得不做的事情。比如学校要给拟录取的学生发通知书,就可能需要批量生成一批只有“姓名”、“学院”和“专业”不同,其他内容都相同的word文档以供打印(事实上直接生成pdf是更好的选择,这个以后有心情可以弄一下)。 要实

    2024年02月11日
    浏览(51)
  • SpringBoot使用Swagger2生成接口文档

            通过一下配置,将Swagger2自动配置进SpringBoot中             通过@Api注解和@ApiOperation注解说明模块作用及接口说明。         通过访问路径http://localhost:8088/doc.html,说明一下8088是我SpringBoot的端口号,你们填你们自己的,不同版本的Swagger访问的路径是不一样的。

    2024年01月25日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包