我们在 urls.py 中有一堆不同版本的 api,例如
- api/v1
- api/v2
- api/v3
. 我们想用 drf-spectacular 实现 swagger,但我们只想公开 api/v3 端点。
有没有办法做到这一点?我无法理解文档。
谢谢
我们在 urls.py 中有一堆不同版本的 api,例如
. 我们想用 drf-spectacular 实现 swagger,但我们只想公开 api/v3 端点。
有没有办法做到这一点?我无法理解文档。
谢谢
这对我有用:
def preprocessing_filter_spec(endpoints):
filtered = []
for (path, path_regex, method, callback) in endpoints:
# Remove all but DRF API endpoints
if path.startswith("/api/"):
filtered.append((path, path_regex, method, callback))
return filtered
在设置中:
"PREPROCESSING_HOOKS": ["common.openapi.preprocessing_filter_spec"],
解决了。复制自定义预处理钩子函数,更改 pass 语句以过滤端点中不需要的内容,然后在预处理钩子的壮观设置中映射文件和函数的位置。