2016-07-24 13 views
2

Предположим, я хочу написать приложение, которое отображает некоторые цены на продукты. Я обнаруживаю ссылку, использующую гипермедиа, которая представляет собой HTML-форму, которая принимает имя продукта в качестве ввода. Я добавляю его в закладки и приступаю к встраиванию этой ссылки в клиент.Должен ли клиент API HATEOAS не использовать закладки с закладками?

Есть ли причина, по которой клиент HATEOAS должен вновь открыть этот ресурс (и базовые формы) вместо использования закладок?

Разве эти URL не должны оставаться неизменными (включая семантику форм)? Разве это меньше работает для того, чтобы вновь открыть недавно разработанный API (и гарантировать совместимость), чем сохранить прежнюю работу?

ответ

0

HATEOAS не является спецификацией, поэтому нет жесткого правила, что нужно делать.

Я думаю, что лучшей практикой для клиента было бы использование закладок только до тех пор, пока ресурс, из которого эти URL-адреса были свежими.

Для сервера лучше всего использовать старые схемы URL и при необходимости перенаправить старые URL-адреса на новые.

2

В HATEOAS URI можно обнаружить (и не задокументировать), чтобы их можно было изменить. То есть, если они не являются самыми точками входа в вашу систему (Cool URIs, единственные, которые могут быть жестко закодированы клиентами) - и у вас не должно быть слишком многих из них, если вы хотите, чтобы развилась остальная часть вашей система URI системы в будущем. Это фактически одна из самых useful функций REST.

Для оставшихся не-Cool URI они могут быть изменены с течением времени, и ваша документация по API должна содержать информацию о том, что они должны быть обнаружены во время выполнения через обход гипермедиа.