2
這裏有一個簡單的瓶的RESTful資源:如何使用Flask-Restful訪問具有多個端點的資源?
class ListStuff(Resource):
def get(self):
stuff = SomeFunctionToFetchStuff()
if re.match('/api/', request.path):
return {'stuff': stuff}
return make_response("{}".format(stuff), 200, {'Content-Type': 'text/html'})
api.add_resource(ListStuff, '/list', '/api/list', endpoint='list')
我的想法是讓用戶通話雙方/list
和/api/list
。如果他們使用第一個URL,他們將取回數據的HTML表示。如果他們使用第二個URL,他們將得到一個JSON表示。
我的問題是當我想訪問程序中其他地方的這個端點的URL。我不能只用url_for('list')
,因爲那樣會總是返回/list
,無論用戶是否訪問http://host.example.com/list
或http://host.example.com/api/list
所以,我怎麼能建立/api/list
的網址是什麼?
你必須添加其他資源爲 '/ API /列表' –
如api.add_resource(ListStuff, '/列表')api.add_resource(ListStuff, '/ API /列表') –
哈桑,謝謝對於這個想法,但並不像我已經用'api.add_resource(ListStuff,'/ list','/ api/list',endpoint ='list')'得到的結果一樣。無論哪種情況,我將如何構建'/ api/list'的URL? –