I believe by default all path parameters will be written as query
parameters. You can read them the same way you read query parameters.
However if you have a path parameter and a query parameter with the same
name this can cause issues. There is a flag to NOT rewrite path parameters
as query params if you wish to use that. There is a second way to get the
path parameter values but I cannot remember it off of the top of my head.
On Sun, Apr 20, 2014 at 10:59 PM, Jonathan Hart <jonathan.hart(a)gmail.com>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> 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>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>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
>>> >
https://lists.jboss.org/mailman/listinfo/undertow-dev
>>> _______________________________________________
>>> undertow-dev mailing list
>>> undertow-dev(a)lists.jboss.org
>>>
https://lists.jboss.org/mailman/listinfo/undertow-dev
>>>
>>
>>
>
_______________________________________________
undertow-dev mailing list
undertow-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/undertow-dev