首页 文章

如何在python烧瓶(restplus)中的GET请求中传递URL作为参数?

提问于
浏览
2

我正在使用python flask创建一个REST API . API已准备就绪,可以在我的localhost的端口号8000上运行 . 现在我打算给这个REST API一个用户友好的界面,我决定使用python - restplus . 我想在内部从5000上运行的swagger应用程序调用此服务(在8000上运行)

我能够创建API的基本结构(Swagger) . 代码如下所示:

import flask
from flask import Flask, request
from flask_restplus import Resource, Api

app = Flask(__name__)
api = Api(app)


@api.route('/HybridComparator/<string:url2>/<string:url1>')
class HybridComparator(Resource):
    def get(self, url1, url2):
        print(url1)
        print(url2)
        return url1 + ' ' + url2

if __name__ == '__main__':
    app.run(debug=True)

整个应用程序在端口5000上无缝地运行(随机字符串作为参数) . 但是当我传递的URL是 actual links 时,应用程序返回404的响应 - 未找到 . 在我的调查之后,我意识到罪魁祸首是我试图提供的链接中嵌入了.2451255_ . 有没有办法特别处理URL?

我应该在发送请求之前对它们进行编码 . (这会让我的参数看起来很难看) . 有什么我想念的吗?

1 回答

  • 0

    看起来 :

    @api.route('/HybridComparator/<path:url2>/<path:url1>')
    

    应该修复它,它修复了404,但我只得到了“http:/”param的一部分

相关问题