Механизмы связи с ресурсами
Под "механизмами связи с ресурсами" я полагаю, что Рой имеет в виду HTTP-запросы и HTTP-глаголы.Он просто говорит это без указания HTTP, потому что REST не зависит от HTTP.Я бы сказал, что для 99,99% всех REST-сервисов механизм обмена ресурсами задокументирован в RFC2616 .
. Sun Cloud API отвечает этим требованиям, потому что все, что клиент должен понимать, чтобы использоватьAPI - это то, как выполнять HTTP-запросы и семантику возвращаемых типов мультимедиа.Например, если клиент не понимает, что содержится в документе типа application/vnd.com.sun.cloud.Cloud+json
, он не сможет использовать API.
В отличие от таких служб, как OData и SData , которые не определяют новые типы медиа, но предполагают, что клиент знает, как извлечь данные домена из канала Atom, и ожидает, что клиент создаст URL-адреса на основе набора правил, определяющих пространство URI.,Это является прямым нарушением рекомендаций Роя.
Улучшается на лету
Честно говоря, я могу только догадываться, на что здесь ссылается Рой.Я мог бы представить сценарий, в котором загруженный javascript мог бы использоваться для создания URL-адреса на основе пользовательского ввода.Это может помешать серверу явно генерировать URL-адрес для каждого элемента в списке.
Кроме того, некоторые допустимые переходы могут быть включены или отключены на лету на основе ввода пользователя.Рассмотрим случай, когда вы не хотите активировать кнопку отправки, пока пользователь не введет все необходимые поля.Полученный документ содержит ссылку, разрешающую переход, но загруженный код контролирует, когда и если пользователь может выбрать ссылку.
Загруженный код также можно использовать для динамического изменения глагола в ссылке.Если вы хотите редактировать ресурс, он может сделать GET, если вы хотите удалить этот ресурс, вы делаете DELETE.Это позволило бы представлению содержать только одну ссылку, но иметь возможность выполнять несколько операций.