Я разрабатываю гипермедиа API, да, RESTful API с ограничением гипертекста.
Каждый пользователь системы будет обращаться к системе, используя свои собственные учетные данные, поэтому каждый обрабатываемый нами запрос проходит проверку подлинности иавторизован.Каждый пользователь, как правило, имеет определенные учетные данные, так что у них могут быть разные права доступа (например, нет, чтение, чтение / запись) для каждой коллекции.
Мы хотим, чтобы клиент был заполнен одним URI, с которого он начинается,это может быть документ служб атома или иерархия (расширения проекта иерархии атомов) коллекций атомов.
Мой вопрос в основном заключается в том, должны ли пользователи видеть разные представления для одного и того же URI или пользователи должны быть направлены на разные URIна основании их разрешений?
Например: у пользователя A и пользователя B разные права в системе.Они входят в систему с разными учетными данными, к тому же начальному URI.Успешный ответ может быть одним из следующих 2:
- 200 OK, и пользователь A видит что-то отличное от пользователя B на том же URI
- 302 (или другом перенаправлении) каждого пользователянапример, / endpoint / userA (которой они владеют)
Компромисс между кэшируемостью, конечно, минимален, поскольку ресурсы кэшируются только клиентом, а не посредниками, но есть компромисс для видимости (URI содержит (идентифицированный) идентификатор пользователя).Наконец, есть возможность в будущем разрешить Пользователю A (или суперпользователю) видеть то, что видит Пользователь B.
Я не спрашиваю, что делают Twitter или Facebook, меня больше интересует, что должны делать практикующие REST.скажи об этом.