Я читаю "настоящие" API RESTful уже несколько дней, и я думаю, что я близок к тому, чтобы разобраться в этом.
Но одна из вещей, которые я натыкаюсь, - это то, что я даже не могу представить, как написать клиент для "реального" гипермедиа API:
-
Большинство примеров, которые я прочитал, говорят о браузерах и пауках, но это не особенно полезно: один из них направлен на человека и "умный", другой - немой и "случайный". Как бы то ни было, у меня создается впечатление, что вам нужно будет изучить ИИ, чтобы заставить клиента работать.
-
Одна вещь, которая не ясна для меня, заключается в том, как клиент знает, какой глагол использовать на какой-либо данной ссылке? Является ли это подразумеваемым в "rel" типе uri? Альтернатива (чтение здесь), кажется, использует xhtml и имеет клиента, который может анализировать и публиковать формы.
-
Насколько вероятно, что ссылка изменится, но не маршрут к ссылке? В большинстве примеров вы видите вокруг, маршрут и ссылка одинаковы:
например. если я хочу настроить клиента, который вернет мне список тортов из Toni Cake Shop:
http://tonis.com
{ link: { type : "cakes" ; uri : "http://tonis.com/cakes" } }
Что происходит, когда Тони становится продуктовым магазином Тони, а ссылка становится http://tonis.com/desserts/cakes
?
Сохраняем ли начальную ссылку cakes
в корне, для обратной совместимости? А если нет, то как мы делаем "перенаправление" для бедного маленького агента, которому было сказано "идти корнем, искать пирожные"?
Что мне не хватает?