2010-03-31 3 views
0

В качестве ссылки на my previous question о REST URI для получения статистической информации для веб-форума Ресурс, я хочу знать, можно ли использовать внутренние привязки в качестве подсказок фильтра. Смотрите пример ниже:Имеет ли смысл использовать внутренние привязки для фильтрации представления REST API?

а) Получить все статистические данные:

GET /group/5t7yu8i9io0op/stat 
{ 
    group_id: "5t7yu8i9io0op", 
    top_ranking_users: { 
     [ { user: "george", posts: 789, rank: 1 }, 
     { user: "joel", posts: 560, rank: 2 } ...] 
     }, 
    popular_topics: { 
     [ ... ] 
    }, 
    new_topics: { 
     [ ... ] 
    } 
} 

б) получить только популярные темы

GET /group/5t7yu8i9io0op/stat#popular_topics 
{ 
    group_id: "5t7yu8i9io0op", 
    popular_topics: { 
     [ ... ] 
    } 
} 

с) ПОЛУЧИТЬ только топ рейтинг пользователей

GET /group/5t7yu8i9io0op/stat#top_ranking_users 
{ 
    group_id: "5t7yu8i9io0op", 
    top_ranking_users: { 
     [ { user: "george", posts: 789, rank: 1 }, 
     { user: "joel", posts: 560, rank: 2 } ...] 
    } 
} 

или должен Я использую параметры запроса?

ответ

2

Не уверен, что вы пытаетесь сделать точно, но убедитесь, что вы понимаете, что идентификаторы фрагмента не видели на сервере, они отключаются клиентским соединителем. не

См: http://www.nordsc.com/blog/?p=17

0

Я никогда не видел, чтобы якоря использовались именно так - это интересно. При этом, я предлагаю использовать параметры запроса в течение нескольких причин:

  1. Они стандартны - и потребители вашего апи будет комфортно с ними. Нет ничего более раздражающего, когда речь идет о причудливой апи.

  2. Многие фреймворки будут автоматически анализировать параметры запроса и устанавливать их в словаре на объекте запроса (или любой другой аналог, существующий в вашей библиотеке фреймворка/http-сервера).

0

Я думаю, что это имело бы больше смысла иметь:

/group/5t7yu8i9io0op/stat/top_users 
/group/5t7yu8i9io0op/stat/popular_topics 
/group/5t7yu8i9io0op/stat/new_topics 
/group/5t7yu8i9io0op/stat/user/george 
0

Нет, вы не можете сделать это, потому что, как Ян указывает, что сервер никогда не будет видеть, что идентификатор фрагмента. Буквально эта часть URL-адреса не дойдет до сервера.