Flask / Swagger未解析的URL

时间:2020-07-16 14:34:41

标签: python flask swagger flask-restplus

我有一个烧瓶应用程序正在运行,仅提供一个API。在应用程序的日志中,我经常看到找不到有关URL的消息。网址可能是下一个: /robots.txt?/?/swagger/index.html?/swagger-ui.html?/favicon.ico?。 我认为这在某种程度上与烧瓶的配置有关,尤其是招摇和Favicon的配置,但是我对此没有找到任何解释。

在不删除404日志的情况下如何解决此问题的任何建议?或有任何想法为什么会这样?

我对烧瓶安装了下一个要求:

flask==1.1.2
flask-cors==3.0.8
flask-restx==0.2.0
werkzeug==1.0.1

以这种方式初始化API:

api = Api(
    default="test",
    title="test",
    description="test",
    doc="/" if not stage == 'prod' else False,
)

以另一种方式实例化应用程序:

from flask import Flask, request
from flask_cors import CORS
from werkzeug.exceptions import NotFound
from werkzeug.middleware.proxy_fix import ProxyFix

def create_app(env: str):
    app = Flask(__name__, instance_relative_config=True)
    app.config.from_object(app_config[env])
    app.wsgi_app = ProxyFix(app.wsgi_app, x_proto=1, x_host=1)
    api.init_app(app)

    CORS(app, origins=allowed_origins)
    
    @app.errorhandler(NotFound)
    def handle_not_found(error):
        logger.exception(
            "Request URL wasn't found. Full path: %s. %s",
            request.full_path, error.description
        )
        return NotFound()

    return app

0 个答案:

没有答案