如何在 flask-RESTPlus 中获取资源路径?
How to get resource path in flask-RESTPlus?
我在使用 flask
和 flask-RESTPlus
方面还很陌生。我有以下内容,但不清楚如何确定 get 请求中使用了哪个路径?
ns = api.namespace('sample', description='get stuff')
@ns.route(
'/resource-settings/<string:address>',
'/unit-settings/<string:address>',
'/resource-proposals/<string:address>',
'/unit-proposals/<string:address>')
@ns.param('address', 'The address to decode')
class Decode(Resource):
@ns.doc(id='Get the decoded result of a block address')
def get(self, address):
# How do I know what get path was called?
pass
通过大量挖掘,我发现 url_for
在 flask 导入中。
仍然感觉有点不稳定,但我可以创建一个完全合格的 link:
result = api.base_url + url_for('resource-settings', address=id)
这很有效,我得到了想要的结果。
更好的解决方案是使用 request context。要获取完整路径,您可以这样做:
from flask import request
def get(self, address):
# How do I know what get path was called?
print(request.full_path)
我在使用 flask
和 flask-RESTPlus
方面还很陌生。我有以下内容,但不清楚如何确定 get 请求中使用了哪个路径?
ns = api.namespace('sample', description='get stuff')
@ns.route(
'/resource-settings/<string:address>',
'/unit-settings/<string:address>',
'/resource-proposals/<string:address>',
'/unit-proposals/<string:address>')
@ns.param('address', 'The address to decode')
class Decode(Resource):
@ns.doc(id='Get the decoded result of a block address')
def get(self, address):
# How do I know what get path was called?
pass
通过大量挖掘,我发现 url_for
在 flask 导入中。
仍然感觉有点不稳定,但我可以创建一个完全合格的 link:
result = api.base_url + url_for('resource-settings', address=id)
这很有效,我得到了想要的结果。
更好的解决方案是使用 request context。要获取完整路径,您可以这样做:
from flask import request
def get(self, address):
# How do I know what get path was called?
print(request.full_path)