【发布时间】:2013-11-09 13:38:23
【问题描述】:
Dropbox 有一个 REST API,允许使用以下 URL 上传文件。 (Reference)
https://api-content.dropbox.com/1/files_put/<root>/<path>?param=val
我想使用 Flask-RESTful 复制这个 API 结构。我有以下课程。
class File(restful.Resource):
def put(self, fname):
// do stuff here
然后该类会自动映射到以下代码。
app = Flask(__name__)
api = restful.Api(app)
api.add_resource(File, '/<string:fname>')
if __name__ == '__main__':
app.run(debug=True)
使用以下curl 命令上传文件就可以了。
curl 127.0.0.1:5000/foo.txt -X PUT --data-urlencode file@foo.txt
但是,以下命令失败。
curl 127.0.0.1:5000/foo/bar.txt -X PUT --data-urlencode file@bar.txt
这是因为 127.0.0.1:5000/foo 被视为另一种 REST 资源,未在我的代码中映射。
有没有一种方法可以使用 Flask-RESTful 库来完成我想要的工作?
【问题讨论】:
标签: python flask flask-restful