我正在使用 python 烧瓶应用程序和使用 flasgger 的 API 文档。当我在本地运行我的烧瓶应用程序时,http://localhost:8086/swagger/
我得到了正确的招摇用户界面。
现在我们已经使用Nginx前端服务部署了我们的应用程序。当我们调用已部署的链接时http://localhost:8086/api/core/swagger/
,我们会看到一个空白的白色页面,页面Powered by Flasgger 0.9.5
右上方。
在 Web 开发人员工具控制台中,我收到此错误。
Uncaught ReferenceError: SwaggerUIBundle is not defined
at window.onload ((index):72:16)
我知道这可能是 flasgger 尝试加载 CSS 文件或其他资源的一些问题,并且无法正确呈现。因为某条路
在我配置 swagger 的过程中,我有以下配置功能。
def configure_swagger(app):
swagger_config = {
"headers": [],
"specs": [
{
"endpoint": "apispec_1",
"route": "apispec_1.json",
"rule_filter": lambda rule: True, # all in
"model_filter": lambda tag: True, # all in
}
],
"static_url_path": "/flasgger_static",
"swagger_ui": True,
"specs_route": "/swagger/",
'openapi': '3.0.3'
}
swagger_template = {
'components': {
'securitySchemes': {
'bearerAuth': {
'type': 'http',
'scheme': 'bearer',
'bearerFormat': 'JWT'
}
},
'security': [{
'bearerAuth': []
}]
}
}
swagger = Swagger(app, config=swagger_config, template=swagger_template)
并且我在其中的所有其他端点api.py
都遵循此架构。
@api.route("/hello")
@swag_from("Swagger/hello.yml")
# @log_writer
def hello():
projects = {"id": 1, "title": "Hello"}
return projects["title"]
@api.route("/healtz")
@swag_from("Swagger/healtz.yml")
def healtz():
return_dict = {"App Version": "1.0.0", "Status": "Healthy"}
return return_dict
healtz.yaml
我的文件样本:
summary: "Upload"
description: "Give the info in json"
consumes:
- "application/json"
produces:
- "application/json"
responses:
405:
description: "Invalid input"
security:
- bearerAuth: []
此 YAML 文件位于项目中,目录名为Swagger
.
我已经浏览了以下答案,但没有得到答案。
对于部署,我们使用我们拥有容器的 EKS 服务。
为什么会出现这个问题?有人可以帮我写代码吗?