Python Falcon Framework: optional URI parameters
Asked Answered
A

1

5

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.

Abortion answered 7/9, 2016 at 7:39 Comment(1)
Can't you just create two routes that would be handled by the same controller?Taphouse
C
11

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...

Cupro answered 15/12, 2016 at 5:48 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.