Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python Falcon Framework: optional URI parameters

Is there a way to define optional path parameters in the Falcon web framework? Currently, I'm declaring separate routes for modifying the same resource.

app.add_route('/users/', users_api_post)
app.add_route('/users/{id}', users_api_put)

PS: There's a similar question on SO for Flask framework.

like image 448
dev Avatar asked Sep 07 '16 07:09

dev


1 Answers

It seems that you are using different HTTP methods, so it seems simpler to use differente functions (on_put and on_post).

But if you are using the same HTTP method, this worked for me:

class EventsResource(object):
    def on_get(self, req, resp, app_id, timeanddate=None):
        if timeanddate:
            ...
        else:
            ...

app.add_route('/events/{app_id}', EventsResource())
app.add_route('/events/{app_id}/{timeanddate}', EventsResource())

Hope this helps...

like image 64
Juan Fco. Roco Avatar answered Oct 03 '22 12:10

Juan Fco. Roco