¿Cómo pasar la ruta del archivo en una API REST para Dropbox usando Flask-RESTful?

Dropbox tiene una API REST que permite cargar archivos usando la siguiente URL. ( Referencia )

https://api-content.dropbox.com/1/files_put//?param=val

Quiero replicar esta estructura API usando Flask-RESTful. Tengo la siguiente clase.

 class File(restful.Resource): def put(self, fname): // do stuff here 

La clase se asigna automáticamente con el siguiente código.

 app = Flask(__name__) api = restful.Api(app) api.add_resource(File, '/') if __name__ == '__main__': app.run(debug=True) 

Cargar un archivo con el siguiente comando curl funciona bien.

curl 127.0.0.1:5000/foo.txt -X PUT --data-urlencode file@foo.txt

Sin embargo, el siguiente comando falla.

curl 127.0.0.1:5000/foo/bar.txt -X PUT --data-urlencode file@bar.txt

Esto se debe a que 127.0.0.1:5000/foo se trata como otro recurso REST que no está asignado en mi código.

¿Hay algún método para lograr lo que quiero usando la biblioteca Flask-RESTful?

Puedes intentar usar el marcador de posición de path lugar de la string :

 api.add_resource(File, '/')