【发布时间】:2014-05-05 08:29:48
【问题描述】:
Flask 在构建我的 HTTP 响应时替换了我的 Location 标头的内容。 它将我的实际相对 URI Location 标头更改为绝对标头。
@app.route('/votes', methods=['POST'])
def votes():
return jsonify(), 201, {'location': '/votes/1'}
我的测试:
def test_vote_creation(self):
response = self.app.post('/votes',
data=json.dumps({
'name': 'Test vote'
}), content_type='application/json')
print(response.headers['location'])
返回http://localhost/votes/1 而不是/votes/1
如何使用 Flask jsonify 返回相对 URI Location 标头?
编辑:根据当前版本的 HTTP/1.1 标准 RFC 2616,Location 标头的值必须是 an absolute URI。 但是 RCF 也将更改为允许相对 URI。所以我想更改我的 API 的默认行为,以在我的位置标头中使用相对 URI 进行回答。
更多详情this post
【问题讨论】:
-
你到底想做什么?抱歉,您的帖子至少对我来说不是很清楚
-
@codegeek 我编辑了我的问题,我希望这更清楚
-
这在 Github 上的 werkzeug issue 中进行了讨论。