Two options.
If you set the 'rewriteQueryParameters' option to true in the handler
then they will be available in the exchange query parameters.
Otherwise they can be retrieved from the exchange as an attachment under
the io.undertow.util.PathTemplateMatch.ATTACHMENT_KEY key.
Stuart
Jonathan Hart wrote:
Stuart,
I was able to successfully set up a RoutingHandler, and it is matching
templates correctly. However, how do I get access to the {variable} data
itself once inside my matched handler?
I have looked through all of the Handler methods/props and the only
place I see the values are in the relative path, which would require me
to re-parse the URL to get to the data I need..
A quick example is:
/user/{userId}
Which is matched when someone requests something like:
/user/5
How do I get access to the "5"? Perhaps I'm too new to Undertow to miss
something obvious, but some advice would be appreciated!
On Tue, Apr 15, 2014 at 6:16 PM, Bill O'Neil <oneil5045(a)gmail.com
<mailto:oneil5045@gmail.com>> wrote:
Thanks for the quick response. This is exactly what I was looking for.
Bill
On Tue, Apr 15, 2014 at 7:27 PM, Jonathan Hart
<jonathan.hart(a)gmail.com <mailto:jonathan.hart@gmail.com>> wrote:
Hi everyone (new to this list)
Many thanks for making this, I was trying to do the EXACT same
thing with Undertow and was having a very hard time wrapping my
head around predicates.
On Mon, Apr 14, 2014 at 5:38 PM, Stuart Douglas
<sdouglas(a)redhat.com <mailto:sdouglas@redhat.com>> wrote:
Bill O'Neil wrote:
> I was curious what the best practices would be for url
routing with many
> endpoints.
>
> For example
>
> POST /user/
> GET /user/{userId}
> GET /document/{documentId} ContentType=appliction/json
(only respond
> when json is requested)
>
> What would be the best option for this? I was able to
achieve most of
> what i wanted using the PredicatesHandler class. Is this
a good choice?
That will work fine, although there are more efficient ways
to do this.
I think this will actually be a fairly common use case, so I
have added
a handler to handle this:
https://github.com/undertow-io/undertow/commit/04385f29996673658bce3c131d...
Basically it matches requests based on a combination of
method, path
template and predicate, and will be considerably more
efficient that
testing a list of predicates.
Stuart
>
> This would build a List of PredicatedHandlers as well as
the fall
> through handler which I would use as a 404. I got an
example working
> using the text predicate format
>
> method[GET] and path-template[value=\"/user/{userId}\"]
>
>
> Is this a good approach or are there better recommendations?
>
>
> Thanks,
>
> Bill
>
> _______________________________________________
> undertow-dev mailing list
> undertow-dev(a)lists.jboss.org
<mailto:undertow-dev@lists.jboss.org>
>
https://lists.jboss.org/mailman/listinfo/undertow-dev
_______________________________________________
undertow-dev mailing list
undertow-dev(a)lists.jboss.org
<mailto:undertow-dev@lists.jboss.org>
https://lists.jboss.org/mailman/listinfo/undertow-dev