前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >FastAPI 学习之路(十一)

FastAPI 学习之路(十一)

作者头像
雷子
发布2021-08-25 10:08:51
5410
发布2021-08-25 10:08:51
举报

FastAPI 系列文章:

FastAPI 学习之路(一)

FastAPI 学习之路(二)

FastAPI 学习之路(三)

FastAPI 学习之路(四)使用pydantic模型做请求体

FastAPI 学习之路(五)

FastAPI 学习之路(六)

FastAPI 学习之路(七)

FastAPI 学习之路(八)

FastAPI 学习之路(九)

FastAPI 学习之路(十)

前言

我们之前分享的是请求体 - 嵌套模型。我们这次分享几个额外信息的例子。

正文

我们有这样的一个需求,我们希望可以看到接口的一个简单的请求示例展示在我们的接口文档中,应该如何实现呢。我们看下如何实现的:

代码语言:javascript
复制
from typing import Optional

from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class Item(BaseModel):
    name: str
    description: Optional[str] = None
    price: float
    tax: Optional[float] = None
    class Config:
        schema_extra = {
            "example": {
                "name": "DEMO",
                "description": "DEMO",
                "price": 20,
                "tax": 0.5,
            }
        }
@app.post("/items/")
def return_item( item: Item):
    results = { "item": item}
    return results

那么我们请求下试试。

接口满足我们的请求,我们看下接口文档是否有请求的示例。

接口文档是正常有这个的示例。代码中使用Config 和 schema_extra 为Pydantic模型声明一个简单的示例。

其实我们在Field也会可以实现一个额外的信息,比如我们增加一个example字段,我们看下如何实现的,带来什么样的效果

代码语言:javascript
复制
from typing import Optional
from fastapi import FastAPI
from pydantic import BaseModel,Field
app = FastAPI()
class Item(BaseModel):
    name: str
    description: Optional[str] = None
    price:float = Field(..., example=600)
    tax: Optional[float] = Field(None, example=0.5)

@app.post("/items/")
def return_item( item: Item):
    results = { "item": item}
    return results

我们看下效果,正常的接口请求没有变动。

我们看下接口的文档。文档在解析的时候,会解析出来这个额外的信息。

当然像Body,Path等也都可以增加这些参数。

后记

发现问题,解决问题。遇到问题,慢慢解决问题即可。

欢迎关注雷子说测试开发,后续将会持续为大家分享更多的技术知识

如果你有问题可以留言或者加我微信:952943386。2021,一起牛转钱坤,一起牛逼。

如果觉得这篇文章还不错,来个【分享、点赞、在看】三连吧,让更多的人也看到~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-08-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 雷子说测试开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • FastAPI 系列文章:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档