Как описать часть подресурса с помощью веб-сервисов RESTful? - PullRequest
2 голосов
/ 28 января 2011

Мы разрабатываем приложение на основе веб-сервисов RESTful и ресурсно-ориентированной архитектуры, как описано в книге o'Reilly RESTful Web Services.

Мы также реализуем кэширование на стороне клиента.

Мой вопрос - скажем, у вас есть общий подресурс, но вы модифицируете его часть. Как вы представляете этот новый измененный ресурс, так что вы можете кэшировать его отдельно от исходного ресурса и ссылаться на изменение как таковое на сервере.

Например, наше приложение представляет собой приложение для финансового моделирования.

Я могу запросить финансовые данные о IBM как:

GET http://{servername}:{port}/[HOLTWS]/resources/factsheet/IBM/variables/{Variable-List-Id}

Хорошо, это возвращает фундаментальный «информационный бюллетень» для IBM за текущий финансовый год.

Но теперь я хочу сменить модельный финансовый год на предыдущий. Я мог бы сделать каждый год своим собственным подресурсом, но он кажется слишком гранулированным и может привести к слишком большим вариациям.

Есть ли хороший способ ROA запросить часть подресурса и обработать кэширование на стороне клиента с помощью условного GET, не превращая каждое подмножество подресурса в новый подресурс?

Ответы [ 2 ]

4 голосов
/ 28 января 2011

Я не совсем понял ваш вопрос, но вот несколько примеров информации, которые могут помочь.

Подресурса не существует. Если URL-адрес изменяется, и он возвращает 200, то это другой ресурс, который будет кешироваться как таковой.

Если вы делаете PUT / Foo / Bar, но возвращаете заголовок Content-Location: / Foo Я считаю, что кэш должен сделать недействительным / Foo

Более подробную информацию о недействительности кэша, связанной с зависимыми ресурсами, можно найти по этому http://ws -rest.org / files / 03-Link% 20Header% 20Invalidation% 20of% 20Caches.pdf

0 голосов
/ 28 января 2011

В вашем приложении "годы" похожи на "страницы" в (например) длинной статье новостей?Если это так, я предлагаю вам использовать строку запроса.В приложениях RESTful я использую строку запроса, чтобы указать часть конкретного ресурса.

...