I think we should decide what we want independently of the REST framework impl, to be the
most restful possible.
Then we check how to do it in the REST fwk we currently use (restlet) and if not possible
then we should check if it’s possible with some other REST fwk (jersey for example).
At worse, if we don’t want to wait we will need at least to introduce API versioning so
that we can change it later on easily.
There’s also the suggestion I proposed with several “pages” elements which seems
potentially more restful than dots to me (but leads to longer urls).
So IMO you should research more about what is the RESTful approach to this before we can
decide anything.
Thanks
-Vincent
On 2 Jul 2015 at 15:57:53, Guillaume Louis-Marie Delhumeau
(gdelhumeau@xwiki.com(mailto:gdelhumeau@xwiki.com)) wrote:
Hi.
This proposal is already explained in
http://jira.xwiki.org/browse/XWIKI-12206. I think it is an important issue
to fix because it blocks
http://jira.xwiki.org/browse/XWIKI-12198 (Ensure
annotations work on nested spaces).
The current REST URL for a space is:
/xwiki/rest/wikis/xwiki/spaces/Europe
and for a page:
/xwiki/rest/wikis/xwiki/spaces/Europe/pages/WebHome
The idea is to use dots as space separator in the REST URLs in the case of
nested spaces. Example:
/xwiki/rest/wikis/xwiki/spaces/Europe.France.Paris
For spaces containing dots in their name, we simply escape them with \
(%5C).
It has the drawback to not have a similar URL than the standard action, ie:
/xwiki/bin/view/Europe/France/Paris/WebHome - for view action
/xwiki/rest/wikis/xwiki/spaces/Europe.France.Paris/pages/WebHome - for REST
action
But it does not seem possible to handle "/" in path parameters with Restlet.
ie:
/xwiki/rest/wikis/xwiki/spaces/Europe/France/Paris/pages/WebHome
is not supported by Restlet.
After a talk with some Restlet committers, they confirm me that we have to
write our own URL router to handle this. I don't know if it worth the pain
although I don't have evaluated it.
So I guess this proposal using dots is the best option, but I'm free to
talk about this.
Thanks,
Guillaume
--
Guillaume Delhumeau (guillaume.delhumeau(a)xwiki.com)
Research & Development Engineer at XWiki SAS
Committer on the
XWiki.org project
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs