FastApi-10-Docs的Example Value

简介: FastApi-10-Docs的Example Value

什么是 Example


你可能注意到了,之前的 docs 中在 response 中的 Example Value 中是没有实例的,这个怎么做呢?


答案是使用 Filed 对象,也可以在模型中使用 schema_extra


Requests Example Value


Filed


from pydantic import BaseModel,Field
class ss(BaseModel):
    name:str = Field(...,example='phyger')
    age:int = Field(...,example=18)
@app.post('/ff/')
async def get_ff(ff:ss):
    res = {'res':ff}
    return res
复制代码


docs


网络异常,图片无法展示
|


可以看到,已经有了实例数据


schema_extra


from pydantic import BaseModel,Field
class ss(BaseModel):
    name:str
    age:int
    class Config:
        schema_extra = {
            "example":{
                "name":"phyger678",
                "age":20
            }
        }
@app.post('/ff/')
async def get_ff(ff:ss):
    res = {'res':ff}
    return res
复制代码


docs


网络异常,图片无法展示
|


可以看到,效果已经展现出来了。


Response Example Value


搞定了 Requests 的示例信息,现在我们一起来研究下 Reponse 的示例信息。


代码


from pydantic import BaseModel
class info(BaseModel):
    name:str
    age:int
@router.post('/test')
def test(info:info):
    msg = {"people_info":info}
    return msg
复制代码


效果


你会发现如上的代码在 docs 中是没有 Reponse 的示例信息的。


网络异常,图片无法展示
|


代码-New


from pydantic import BaseModel
class info(BaseModel):
    name:str
    age:int
class repMd(BaseModel):
    people_info:info
@router.post('/test',response_model=repMd)
def test(info:info):
    msg = {"people_info":info}
    return msg
复制代码


效果-New


你会发现,Reponse 的示例数据已经搞定。


网络异常,图片无法展示
|


这样做有什么用呢?


除了上面我们介绍的可以在 docs 中对接口进行信息的完善和请求体的提示以外。


Example 部分还可以对整个项目的重构,以及系统对接,交付测试等起到意想不到的良好效果。


还是建议大家在实际开发过程中,能够添加 RequestsReponse 的示例信息,磨刀不误砍柴工,只有在我们项目的初始阶段就定好规则,大家一起遵守,这样才能做出一个好的产品。


以上都是小编在实际工作中深切体会到的,如果前期没有完善的相关注释和文档,将会为后续的维护和测试等造成很大的困扰。返工的成本远比当时盲目赶工时取得的眼前收益大得多!


做产品还是得脚踏实地,稳步前进!


感谢您的阅读,别忘了关注,点赞,评论,转发四连哟!

相关文章
|
Python
python flask 后端报错 ImportError: cannot import name ‘cached_prope‘
问题python flask 后端报错 ImportError: cannot import name ‘cached_prope‘flask程序启动但抛出该错误,是因为werkzeug 版本过高,需要降低版本即可 解决:一般这种情况是需要注意第三方库版本的对应,werkzeug需要0.16.0 版本时 flask的版本应该时1.x.x 的版本,不能是2.x过高的版本。
192 0
|
网络架构 Python
FastApi-18-APIRouter
FastApi-18-APIRouter
366 0
|
4月前
|
JavaScript Shell API
FastAPI是什么?
FastAPI是一个现代、高性能的Python Web框架,专为构建API设计。它利用标准的Python类型提示,支持同步及异步编程,并借助Pydantic实现数据验证。FastAPI以卓越的性能媲美Node.js和Go,代码简洁优雅,能自动生成交互式API文档如Swagger UI和ReDoc,方便测试和调试。其对`async`和`await`的支持使之适用于WebSocket等高并发场景。快速上手仅需安装FastAPI和Uvicorn,编写少量代码即可启动服务并访问自动生成的文档界面。FastAPI不仅易于入门,还支持复杂的功能如依赖注入和后台任务,非常适合追求高性能和快速开发的项目。
|
4月前
|
JavaScript API Go
fastapi之helloworld
fastapi之helloworld
|
7月前
|
安全 API Python
FastAPI入门指南
FastAPI是基于Python类型提示的高性能Web框架,用于构建现代API。它提供高性能、直观的编码体验,内置自动文档生成(支持OpenAPI)、数据验证和安全特性。安装FastAPI使用`pip install fastapi`,可选`uvicorn`作为服务器。简单示例展示如何定义路由和处理函数。通过Pydantic进行数据验证,`Depends`处理依赖。使用`uvicorn main:app --reload`启动应用。FastAPI简化API开发,适合高效构建API应用。5月更文挑战第21天
218 1
|
7月前
|
缓存 中间件 API
FastAPI
【2月更文挑战第1天】FastAPI是一个用于构建API的现代、快速的Python Web框架,具有以下特点:
140 9
|
Python
Flask开发 导入flask_uploads包时提示“IMPORTERROR: CANNOT IMPORT NAME ‘SECURE_FILENAME‘ FROM ‘WERKZEUG‘“
在使用Flask开发过程中,使用Flask_uploads模块开发上传文件功能时,在项目中导入该包时,提示“ImportError: cannot import name ‘secure_filename’ from 'werkzeug”错误。
596 0
Flask开发 导入flask_uploads包时提示“IMPORTERROR: CANNOT IMPORT NAME ‘SECURE_FILENAME‘ FROM ‘WERKZEUG‘“
|
JSON JavaScript API
fastapi基础篇
fastapi基础篇
199 0
|
Python
flask开发导入flask_uploads包时提示"ImportError: cannot import name 'secure_filename' from 'werkzeug'"
在使用Flask开发过程中,使用Flask_uploads模块开发上传文件功能时,在项目中导入该包时,提示“ImportError: cannot import name ‘secure_filename’ from 'werkzeug”错误。
327 0

热门文章

最新文章