我正在使用python flask创建一个REST API。API已经准备好了,并在我的本地主机的端口号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是实际链接时,应用程序返回404 - Not Found的响应。经过进一步调查,我意识到罪魁祸首是我试图提供的链接中嵌入的'/'。有没有特别处理URL的方法?
我应该在发送请求之前对它们进行编码吗?(这会使我的参数看起来很丑)。我是不是漏掉了什么?
2条答案
按热度按时间mfpqipee1#
这是一个很老的问题,我相信你现在已经解决了这个问题。但对于新的搜索者来说,这可能会派上用场;
将
<string:url2>/<string:url1>
替换为<path:url2>/<path:url1>
wgx48brx2#
看来:
应该修复它,它修复了404,但我只得到“http:/”部分的参数