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 ([email protected](mailto:[email protected])) 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 ([email protected]) Research & Development Engineer at XWiki SAS Committer on the XWiki.org project _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs