如何在 flask-RESTPlus 中获取资源路径?

How to get resource path in flask-RESTPlus?

我在使用 flaskflask-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)