我有一个部署在Bluemix上的Python Flask应用程序。当我在本地运行它时,一切都按预期工作。但是,当我在Bluemix上向应用程序发出请求时,我的请求的路径会丢失其第一个段,从而导致404
。
例如,如果我向/api/v1/items
发出请求并在print request.path
函数中执行app.before_request()
,则会将/v1/items
打印到控制台。
应用和环境细节:
当然,我可以简单地发布每个API请求,并在路径前添加/blah
,但这样会非常不优雅。
Flask如何剥离我的请求路径的第一部分?有没有人知道为什么会发生这种情况和/或潜在的解决方案?
答案 0 :(得分:0)
问题最终是我从REST客户端(Postman)调用API并使用环境变量作为我的主机名。我在env var和请求URL中都有正斜杠,导致最终发送的请求URL在域后面有一个双斜杠。
因此,如果您向带有两个正斜杠的烧瓶应用程序发出API请求(即myapi.com//api/v1/path
),则Python Web服务器将删除第一个路径段(api/
情况)。