У меня есть система REST с ресурсами Article и Author. Как правило, при доступе к статье, я также хочу знать имя автора. Я могу создать статьи несколькими способами для достижения этой цели: A) встроить копию имени автора непосредственно в статью; или B) включить в Статью URI, который указывает на соответствующий ресурс Author.
Очевидно, что копирование имени автора прямо в ресурс Article явно имеет обратную сторону. Дублируя информацию в несколько ресурсов, я открываю себя для конфликтов между ресурсами. После того, как Автор обновляет свое имя, у ресурса Article может быть старое имя, а у ресурса Author - новое.
Возможно, если я не кеширую статьи, это не будет проблемой? Но с практической точки зрения быстрота и сокращение числа обращений к серверу крайне желательны, поэтому я стремлюсь к кэшированию в браузере.
В сценарии B связывание с использованием URI кажется правильным и намного более дружественным к кешу. Но это удваивает количество обращений к серверу: каждая статья требует второй (последовательной) выборки Автора. Таким образом, дорого по-другому, особенно если мы говорим о нескольких URI для нескольких других ресурсов. При одновременном отображении 50 статей это может сойти с ума.
Мне бы хотелось услышать, как другие решают эту проблему. Стоит ли читать эссе о «лучших практиках»?