2014-10-17 3 views
0

Скажем, у меня есть два корня ресурсы:остальное - отношения и ETag

/organizations 
/persons 

GET вызов на /persons/id возвращает всю информацию о определенном человеке.

A GET call on /persons/id/organizations возвращает массив всех организаций, к которым принадлежит данное лицо.

A GET звонок по /persons/id/organizations/id возвращает всю информацию о конкретной организации, к которой принадлежит данное лицо. Он возвращает тот же контент, что и в /organizations/id.

Существует возможность расширить информацию лица с его организациями информации, чтобы объединить два GET в один GET:

/persons/id/?expand=organizations 

Мой вопрос о ETags в последнем запросе.

При обращении к /persons/id в заголовки ответов добавляется ETag. Аналогично, при доступе к /persons/id/organizations/id в заголовки ответов добавляется ETag.

Вопрос сейчас: какой ETag следует добавить в заголовки ответов при доступе к /persons/id?expand=organizations?

Другими словами, следует ли обновлять ETag человека каждый раз, когда соответствующая организация обновляется?

ответ

0

Это зависит от вашей системы. Если у вас есть глобальный ETag, тогда проблем нет. Если у каждого объекта есть ETag (или номер версии), и вы хотите назначить ETags для вложенных представлений, тогда у вас есть проблема ... Вы можете определить пользовательский заголовок и отправить ETags вместе с IRI (URI), или вы должны добавить их в тело ответа. Это не полностью разрешенная проблема (по крайней мере, не по Hydra), мы обсуждали этот вопрос here.

Смежные вопросы