在实际开发中,可能我们有些接口不能在接口文档中与其他业务接口一样开放给前端或者其他对接人,那么我们肯定会想着在接口文档中对其进行屏蔽隐藏操作,那么可以实现吗?
接口文档中隐藏接口
当然,还很简单,如下:
@app.get("/legacy", include_in_schema=False)
def get_legacy_data():data = """<?xml version="1.0"?><shampoo><Header>Apply shampoo here.</Header><Body>You'll have to use soap here.</Body></shampoo>"""return Response(content=data, media_type="application/xml")
只需要在配置:
include_in_schema=False
我们此时再看下接口文档,该接口已经被隐藏掉了:
虽然没有在接口文档中展示,但是是可以正常调用的
docstring的高级描述
在实现接口视图时,如下添加docstring会将对应内容输出到对应接口文档中
@app.get("/docstring")
def test_docstring(email: str, password: str):"""* email: 用户邮箱* password: 密码"""return {"email": email, "password": password}
看下接口文档中会输出什么:
我们可以看到,在接口中我们描述了参数的意义, 在文档中也正常展示了,那么我们就可以对接口参数进行一些描述后展示在文档中,方便理解每一个字段的意义。