Каковы наилучшие практики для корневой страницы REST API?

Я хотел бы знать, есть ли передовой опыт в отношении корневой конечной точки для веб-службы REST? Я имею в виду, должна ли это быть краткая документация об использовании самого API? Должен ли это быть XML-документ, описывающий все доступные методы? Должен ли он возвращать только «неизвестный метод»?


person adam    schedule 24.05.2010    source источник
comment
это плохо сформулированный вопрос! пожалуйста, предоставьте более подробную информацию   -  person Keith Nicholas    schedule 24.05.2010


Ответы (6)


Этот вопрос в заданном виде неясен. Я предполагаю, что это означает что-то вроде каталога, в котором находятся все методы API. Например, корневой каталог Flickr API будет http://api.flickr.com/services/rest/.

Пример проекта, использующего Flickr API, см. в разделе python-flickrapi

person Matthew Flaschen    schedule 24.05.2010
comment
я имею в виду с другой стороны... вид того, как выглядят файлы для вызова flickr api из веб-приложения... - person adam; 24.05.2010

Вопрос мне совершенно ясен.

Я думаю, что он должен ответить 404. Если нет ресурса, связанного с корневым путем, то возвращать нечего.

Если вы считаете, что ошибка 404 бесполезна, можно также вернуть URL-адрес документации.

person B Seven    schedule 27.06.2016
comment
Я всегда думал об этом, но есть много инфра-элементов, которые пытаются пинговать root в качестве проверки работоспособности или работоспособности. Досадно, что многие из этих решений невозможно настроить без хакерских действий (например, службы приложений контейнеров Azure). - person Sinaesthetic; 29.05.2020

REST должен быть самоописывающим, поэтому, на мой взгляд, корень показывает ошибку, это плохой дизайн. Мне нравится, когда корень содержит информацию, которая позволяет вам перемещаться по остальной части API. Так, например, корень может содержать ссылку на список категорий продуктов, из которых пользователь API может выбрать категорию, а затем список продуктов и т. д. API с самоописанием означает, что нужно писать и обновлять меньше документации!

person Joe Bourne    schedule 06.06.2018


1. NerdDinner использует службы данных WCF, что является отличным способом корректной реализации служб RESTful. Причина, по которой я указываю на это, а не на непосредственно службы данных WCF, заключается в том, что это общедоступный веб-сайт, и вы можете его использовать. 2. MediaWiki не является хорошим примером, поскольку они передают действия в URI, но технически это RESTful-сервис, демонстрирующий множество интересных идей.

person Robert MacLean    schedule 29.06.2010

корневой точкой REST API является API, определенный для первой косой черты, т.е. "/" URL-адреса после сервлета-диспетчера. Он содержит все GET для списка ресурсов (в основном для всех таблиц базы данных), этот список также содержит все элементы, и в одном элементе будет DELETE , PUT/PATCH и SELF получить URL. Таким образом, реализация HATEOS.

person Hades    schedule 27.06.2016

Для меня я просто перенаправляюсь на свой интерфейс.

В узле JS используйте res.redirect("https://<<your frontend>>");

person Kingsley Kbc Comics    schedule 17.06.2021