dev@glassfish.java.net

Re: REST API and slashes in resource names

From: Paul Sandoz <Paul.Sandoz_at_Sun.COM>
Date: Tue, 01 Jun 2010 15:31:32 +0200

On Jun 1, 2010, at 12:47 PM, Andreas Loew wrote:

> Hi Paul,
>
> Paul Sandoz schrieb:
>
>>> Not quite: '{' and '}' are just "unsafe" characters,
>> They are disallowed in the URI syntax:
>> http://greenbytes.de/tech/webdav/rfc2396.html#rfc.section.2.4.3
>
> while I don't want to argue with you about the subtleties of the
> fact that curly brackets are *not* part of *neither* "reserved"
> *nor* "unreserved" characters, it seems to me that the following
> would be fully sanctioned by the spec:
>
> .../management/domain/resources/admin-object-resource/(jndi/foo)
>
> because "normal" brackets are "unreserved" characters: "Data
> characters that are allowed in a URI but do not have a reserved
> purpose are called unreserved."
>

Yes.


> So how about wrapping resource values that contain "reserved"
> characters by a pair of (unreserved) "normal" brackets '(' and ')'?
>

It would work, but it is not clear to me if there is any need for
wrapping. Ludo?

I think that would only be required if further path segments may occur
after e.g.

   .../management/domain/resources/admin-object-resource/(jndi/foo)/
bar/baz

It should be possible to use @Path with a regex to capture all the
path segments between '(' and ')'

Paul.