Do:
- Создайте приложение так, чтобы оно управлялось гипертекстом (Гипермедиа как двигатель состояния приложения - HATEOAS).
- Потратьте большую часть своего времени и усилий на поиск ресурсов и создание типов носителей для их представления.
- Думайте обо всем URI как об идентификаторе ресурса и предполагайте, что он изменится в будущем.
- Укажите все параметры для продолжения работы через ваше приложение в виде ссылок в вашем представлении.
- Думайте о своем приложении как о веб-сайте, который клиенты будут «сканировать» или «просматривать».
- Попробуйте написать клиент для вашего API и посмотрите, где происходит связывание.
Не
- Публикация шаблонов URI в документации API. Если вам нужны шаблоны для параметров запроса, например, убедитесь, что они являются частью вашего определения типа мультимедиа.
- Представьте, что ваше приложение представляет собой набор URI, на которые действуют четыре глагола.
- Служите MIME-типам, таким как "application / xml" или "application / json", для клиентов.
Чтобы использовать аналогию, ваш API должен работать больше как GPS для ваших клиентов, а не как карта. Вы будете предоставлять клиентам только название соседней улицы. Но с тех пор они могут делать только то, что ваше приложение говорит, что они могут делать в любой момент.
Цель этого стиля - минимизировать связь между вашим приложением и его клиентами. Все связи должны происходить в вашем определении типа носителя. Это упрощает эволюцию API и обеспечивает хороший механизм управления версиями. Кроме того, исчезают вопросы о таких проблемах, как нумерация страниц.
Большинство API RESTful не следуют этому шаблону. Для того, чтобы это сделать, смотрите Sun Cloud API и его предысторию .