FastApi 自带的接口文档,如果上线的话那么接口就直接暴露了,任何人只要在你的网址后面加上/docs就能看到非常不安全。

 

1、关闭部分接口

如何关闭部分接口?例如我做的这个服务,本身就是公共 API,就是拿给大家用的,只有几个核心接口隐藏一下,其他接口直接公开。

要隐藏部分接口,我们可以在路由装饰器上面添加一个参数include_in_schema=False,如下图所示:

2、隐藏说有接口

在初始化 FastApi 对象的时候,增加一个参数就可以了。这里是隐藏/docs接口

app = FastAPI(docs_url=None)

如果全都隐藏  用下面的命令

app = FastAPI(docs_url=None, redoc_url=None)

 

3、如何自动切换

我们可以使用环境变量来自动控制,实现只有显式添加环境变量env=develop的时候才显示文档,其他情况下都不显示。部分代码如下:

import os
from fastapi import FastAPI

env = os.getenv('env')
if env != 'develop':
    app = FastAPI(docs_url=None, redoc_url=None)
else:
    app = FastAPI()

当我们在自己电脑上开发的时候,我们在环境变量中添加一项env,它的值为develop,于是文档自动打开。当我们部署到线上环境的时候,把env的值设置成prod或者不设置,那么文档自动关闭。

本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。

最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或联络我们。

对于会员专享、整站源码、程序插件、网站模板、网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。

如果您已经成功付款但是网站没有弹出成功提示,请联系站长提供付款信息为您处理

源码素材属于虚拟商品,具有可复制性,可传播性,一旦授予,不接受任何形式的退款、换货要求。请您在购买获取之前确认好 是您所需要的资源