Различные доклады, которые я смотрел, и учебники, которые я сканировал на REST, подчеркивают нечто, называемое «открываемостью». Насколько я понимаю, этот термин, по-видимому, означает, что клиент должен иметь возможность пойти http://URL
и автоматически получить список того, что он может сделать.
Что мне трудно понять, так это то, что «программные клиенты» - это не люди. Это просто программы, которые не имеют интуитивных знаний, чтобы понять, что именно делать с предоставленными ссылками. Только люди могут зайти на веб-сайт и понять текст и ссылки, представленные и действовать на нем.
Так в чем же смысл обнаружения, когда клиентский код, который обращается к таким обнаруживаемым URL-адресам, на самом деле ничего не может с этим поделать, если только разработчик клиента на самом деле не экспериментирует с представленными ресурсами? Это похоже на то же самое, что и определение набора доступных функций в руководстве по документации, просто с другой стороны, и фактически требует больше работы для разработчика. Почему этот второй подход предварительного определения того, что может быть сделано в документе, внешнем по отношению к фактическим ресурсам REST, считается неполноценным?