【问题标题】:How to get resource path in flask-RESTPlus?如何在 flask-RESTPlus 中获取资源路径?
【发布时间】:2018-10-09 03:11:20
【问题描述】:

我在使用 flask 和 flask-RESTPlus 时还很陌生。我有以下内容,不清楚如何确定获取请求中使用了哪个路径?

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

【问题讨论】:

    标签: python-3.x flask-restful flask-restplus


    【解决方案1】:

    通过大量挖掘,我在烧瓶导入中发现了 url_for。

    仍然感觉有点不稳定,但我可以创建一个完全合格的链接:

    result = api.base_url + url_for('resource-settings', address=id)
    

    所以这行得通,我得到了想要的结果。

    【讨论】:

      【解决方案2】:

      更好的解决方案是使用request context。要获取完整路径,您可以执行以下操作:

      from flask import request
      
      def get(self, address):
          # How do I know what get path was called?
          print(request.full_path)
      

      【讨论】:

      • 是的,更好。谢谢!
      猜你喜欢
      • 2012-05-13
      • 2021-04-24
      • 2020-12-09
      • 1970-01-01
      • 1970-01-01
      • 2011-09-12
      • 2020-09-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多