<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">2014-08-29 11:39 GMT+03:00 Matthias Wessendorf <span dir="ltr">&lt;<a href="mailto:matzew@apache.org" target="_blank">matzew@apache.org</a>&gt;</span>:<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><div class="h5"><div><br></div></div></div><div>not sure, someone added that to the meeting notes :)</div><div> </div></div></div></div></blockquote><div>
<br></div><div>ah, ok :) </div><div><br></div><div>Just an idea, it would be nice to comply with the HATEOAS constraint or to create some kind of Json schema UPS. At least, in its simplest form you could just include the available UPS rest urls when someone creates a GET request to the main UPS url (e.g ../ag-push/rest). For example when I create a GET request to the GitHub API main url (<a href="https://api.github.com/">https://api.github.com/</a>) I receive the below Json and I&#39;m able to create a dynamic REST client which reads the URLs from Json without any need to hardcode them in my app. It is also useful from a documentation perspective, since there is not need to read the APi docs.</div>
<div><br></div><div>    <span style="color:rgb(0,0,0)">{</span></div><pre style="color:rgb(0,0,0)">  &quot;current_user_url&quot;: &quot;<a href="https://api.github.com/user">https://api.github.com/user</a>&quot;,
  &quot;authorizations_url&quot;: &quot;<a href="https://api.github.com/authorizations">https://api.github.com/authorizations</a>&quot;,
  &quot;code_search_url&quot;: &quot;<a href="https://api.github.com/search/code?q={query}{&amp;page,per_page,sort,order}">https://api.github.com/search/code?q={query}{&amp;page,per_page,sort,order}</a>&quot;,
  &quot;emails_url&quot;: &quot;<a href="https://api.github.com/user/emails">https://api.github.com/user/emails</a>&quot;,
  &quot;emojis_url&quot;: &quot;<a href="https://api.github.com/emojis">https://api.github.com/emojis</a>&quot;,
  &quot;events_url&quot;: &quot;<a href="https://api.github.com/events">https://api.github.com/events</a>&quot;,
  &quot;feeds_url&quot;: &quot;<a href="https://api.github.com/feeds">https://api.github.com/feeds</a>&quot;,
  &quot;following_url&quot;: &quot;<a href="https://api.github.com/user/following{/target}">https://api.github.com/user/following{/target}</a>&quot;,
  &quot;gists_url&quot;: &quot;<a href="https://api.github.com/gists{/gist_id}">https://api.github.com/gists{/gist_id}</a>&quot;,
  &quot;hub_url&quot;: &quot;<a href="https://api.github.com/hub">https://api.github.com/hub</a>&quot;,
  &quot;issue_search_url&quot;: &quot;<a href="https://api.github.com/search/issues?q={query}{&amp;page,per_page,sort,order}">https://api.github.com/search/issues?q={query}{&amp;page,per_page,sort,order}</a>&quot;,
  &quot;issues_url&quot;: &quot;<a href="https://api.github.com/issues">https://api.github.com/issues</a>&quot;,
  &quot;keys_url&quot;: &quot;<a href="https://api.github.com/user/keys">https://api.github.com/user/keys</a>&quot;,
  &quot;notifications_url&quot;: &quot;<a href="https://api.github.com/notifications">https://api.github.com/notifications</a>&quot;,
  &quot;organization_repositories_url&quot;: &quot;<a href="https://api.github.com/orgs/{org}/repos{?type,page,per_page,sort}">https://api.github.com/orgs/{org}/repos{?type,page,per_page,sort}</a>&quot;,
  &quot;organization_url&quot;: &quot;<a href="https://api.github.com/orgs/{org}">https://api.github.com/orgs/{org}</a>&quot;,
  &quot;public_gists_url&quot;: &quot;<a href="https://api.github.com/gists/public">https://api.github.com/gists/public</a>&quot;,
  &quot;rate_limit_url&quot;: &quot;<a href="https://api.github.com/rate_limit">https://api.github.com/rate_limit</a>&quot;,
  &quot;repository_url&quot;: &quot;<a href="https://api.github.com/repos/{owner}/{repo}">https://api.github.com/repos/{owner}/{repo}</a>&quot;,
  &quot;repository_search_url&quot;: &quot;<a href="https://api.github.com/search/repositories?q={query}{&amp;page,per_page,sort,order}">https://api.github.com/search/repositories?q={query}{&amp;page,per_page,sort,order}</a>&quot;,
  &quot;current_user_repositories_url&quot;: &quot;<a href="https://api.github.com/user/repos{?type,page,per_page,sort}">https://api.github.com/user/repos{?type,page,per_page,sort}</a>&quot;,
  &quot;starred_url&quot;: &quot;<a href="https://api.github.com/user/starred{/owner}{/repo}">https://api.github.com/user/starred{/owner}{/repo}</a>&quot;,
  &quot;starred_gists_url&quot;: &quot;<a href="https://api.github.com/gists/starred">https://api.github.com/gists/starred</a>&quot;,
  &quot;team_url&quot;: &quot;<a href="https://api.github.com/teams">https://api.github.com/teams</a>&quot;,
  &quot;user_url&quot;: &quot;<a href="https://api.github.com/users/{user}">https://api.github.com/users/{user}</a>&quot;,
  &quot;user_organizations_url&quot;: &quot;<a href="https://api.github.com/user/orgs">https://api.github.com/user/orgs</a>&quot;,
  &quot;user_repositories_url&quot;: &quot;<a href="https://api.github.com/users/{user}/repos{?type,page,per_page,sort}">https://api.github.com/users/{user}/repos{?type,page,per_page,sort}</a>&quot;,
  &quot;user_search_url&quot;: &quot;<a href="https://api.github.com/search/users?q={query}{&amp;page,per_page,sort,order}">https://api.github.com/search/users?q={query}{&amp;page,per_page,sort,order}</a>&quot;
}</pre></div><br></div></div>