系列文章:

  FastAPI 学习之路(一)fastapi--高性能web开发框架

  FastAPI 学习之路(二)

  FastAPI 学习之路(三)

  FastAPI 学习之路(四)

  FastAPI 学习之路(五)

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

  FastAPI 学习之路(七)字符串的校验

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

  FastAPI 学习之路(九)请求体有多个参数如何处理?

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

FastAPI 学习之路(十一)请求体 - 嵌套模型

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

FastAPI 学习之路(十三)Cookie 参数,Header参数

    FastAPI 学习之路(十四)响应模型

  FastAPI 学习之路(十五)响应状态码

    FastAPI 学习之路(十六)Form表单

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

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

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

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

from fastapi import FastAPI
app = FastAPI()
@app.post("/login/", tags=["login"])
def login(username: str,password:str):
if username == "leizi" and password=="123":
return "success"
return {"name": username}
@app.post("/regin/", tags=["login"])
def regin(username: str,password:str):
return {"name": username}

我们看下,接口文档

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

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

from fastapi import FastAPI
app = FastAPI()
@app.post("/login/", tags=["login"],description="这是登录模块")
def login(username: str,password:str):
if username == "leizi" and password=="123":
return "success"
return {"name": username}
@app.post("/regin/", tags=["login"])
def regin(username: str,password:str):
return {"name": username}

我们看下接口

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

from fastapi import FastAPI
app = FastAPI()
@app.post("/login/", tags=["login"],summary="这是登录模块")
def login(username: str,password:str):
"""
登录
- param username: 用户名
- param password: 密码
- return: 返回是否成功
"""
if username == "leizi" and password=="123":
return "success"
return {"name": username}
@app.post("/regin/", tags=["login"])
def regin(username: str,password:str):
return {"name": username}

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

如果我们要标注接口启用怎么实现呢

from fastapi import FastAPI
app = FastAPI()
@app.post("/login/", tags=["login"],summary="这是登录模块")
def login(username: str,password:str):
"""
登录
- param username: 用户名
- param password: 密码
- return: 返回是否成功
"""
if username == "leizi" and password=="123":
return "success"
return {"name": username}
@app.post("/regin/", tags=["login"],deprecated=True)
def regin(username: str,password:str):
return {"name": username}

我们可以接口文档的展示

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

FastAPI 学习之路(二十)接口文档配置相关的更多相关文章

  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 学习之路(十六)Form表单

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

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

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

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

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

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

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

  8. 嵌入式Linux驱动学习之路(二十五)虚拟网卡驱动程序

    一.协议栈层次对比 设备无关层到驱动层的体系结构 1).网络协议接口层向网络层协议提供提供统一的数据包收发接口,不论上层协议为ARP还是IP,都通过dev_queue_xmit()函数发送数据,并通过 ...

  9. 嵌入式Linux驱动学习之路(二十四)Nor Flash驱动程序

    Nor Flash和Nand Flash的不同: 类型 NOR Flash  Nand Flash  接口 RAM-like,引脚多 引脚少 容量 小(1M.2M...) 大(512M.1G) 读 简 ...

随机推荐

  1. AFL++ Fuzz一个libexif例子

    CVE-2009-3895 首先在NVD找到漏洞描述如下: 大致意思是说:libexif 0.6.18 中的 libexif/exif-entry.c 中的 exif_entry_fix 函数中基于堆 ...

  2. WEB漏洞——XSS

    跨站脚本( Cross-site Scripting,简称为XSS或跨站脚本或跨站脚本攻击)是一种针对网站应用程序的安全漏洞攻击技术,是代码注入的一种. XSS攻击可以分为三种:反射型.存储型和DOM ...

  3. Activiti 学习(一)—— Activiti 基础

    工作流概述 在一个公司中,每一项业务的开始和结束,都可以理解为一个工作流,例如,公司的费用报销的基本流程如下: 如图所示的工作流:员工先提出费用报销申请,提交该申请给部门领导,部门领导审批后,再提交给 ...

  4. Mysql常用sql语句(3)- select 查询语句基础使用

    测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 针对数据表里面的每条记录,select查询语句叫 ...

  5. .net中使用JSON

    在.NET使用JSON作为数据交换格式 ASP.NET中JSON的序列化和反序列化 三种方式: 使用System.Web.Script.Serialization.JavaScriptSerializ ...

  6. DataGridView高度自动调整

    AutoResizeGrid.cs代码 /// <summary> /// 根据行数据,自动调整DataGridView高度 /// </summary> public sea ...

  7. 海量列式非关系数据库HBase 架构,shell与API

    HBase的特点: 海量存储: 底层基于HDFS存储海量数据 列式存储:HBase表的数据是基于列族进行存储的,一个列族包含若干列 极易扩展:底层依赖HDFS,当磁盘空间不足的时候,只需要动态增加Da ...

  8. 使用python快速搭建http服务

    python2语法:python -m SimpleHTTPServer python3语法:python -m http.server 在局域网中使用web去访问http:/IP:8000即可 可以 ...

  9. go中如果想要实现别人写的接口,如何保证确实实现了那个接口而不是错过了什么?

    在类型的实现方法上定义通用代码指令 var _ 要实现的接口  = (receiver类型)(nil) 比如要定义一个web处理程序 type  handler_def struct{} var _ ...

  10. Wpf读写Xaml文件

    前言 本文主要介绍Wpf读写Xaml文件. 读写实现 首先我们使用XamlWriter将Wpf的对象转换为Xaml字符串,代码如下: var btn = sender as Button; strin ...