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.

Community
  • 1
  • 1
dev
  • 2,474
  • 7
  • 29
  • 47

1 Answers1

10

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

Juan Fco. Roco
  • 1,608
  • 14
  • 11