Просто хочу запустить мой метод разбивки на страницы с Джерси на стороне сервера и JQuery на стороне клиента.
На сервере (при условии, что пользователь только что запросил /rest/users?page=1):
// Hardcoded the page number here, but it would be page-1, page+1
String prevLink = uriInfo.getRequestUri() + "?page=0";
String nextLink = uriInfo.getRequestUri() + "?page=2";
String linkHeader = String.format(LINK_HEADER_TMPL, prevLink, nextLink);
return List currentPageResults;
Это дает мне следующий заголовок в ответе:
Link: ; rel="prev", ; rel="next"
На клиенте:
var xhr = $.getJSON("rest/users", function(allData) {
var links = (xhr.getResponseHeader("link")).split(',');
var relLinks = [];
$.each(links, function(index, value) {
var parts = value.split(';');
var url = parts[0].replace(/^.*<(.*)>.*$/m, '$1');
var rel = parts[1].replace(/^.*"(.*)".*$/m, '$1');
relLinks[rel] = url;
});
alert(relLinks['prev']);
Предупреждение дает мне то, что нужно, и это то, что я буду использовать для создания ссылок на свои страницы :
http://localhost:8880/rest/users?page=0
. Итак, вопросы:
Кстати, как появился весь формат заголовков ссылок? Форма «url; rel=name,url;rel=name» кажется мне немного странной.
РЕДАКТИРОВАТЬ :Нашел этоhttp://tools.ietf.org/html/rfc5988#section-6.2, который определяет «стандартные» имена отношений