Как мне узнать, что я использую REST? - PullRequest
1 голос
/ 15 ноября 2010

REST выглядит так просто, что у меня возник вопрос, что такое REST. Это похоже на любые GET URL, которые я использую. Как мне узнать, что я использую REST? В чем разница между простым URL-адресом, например: "http://en.wikipedia.org/wiki/Representational_State_Transfer" и другой URL-адрес службы REST. Если это URL (h http://en.wikipedia.org/wiki/Representational_State_Transfer), если вернуть JSON / XML, то это REST, в противном случае это веб-страница!

Другими словами: По заданному URL-адресу как узнать, что я получаю доступ к URL-адресу службы REST или просто к веб-странице. Это просто тип возврата, который отличается. Если возвращаемый тип XML / JSON, тогда REST в противном случае простая веб-страница!

Ответы [ 3 ]

3 голосов
/ 15 ноября 2010

Невозможно определить по URL-адресу, что вы обращаетесь к услуге REST против чего-либо еще.

Учитывая, что REST является архитектурным стилем, а не конкретной технологией, не существует определенного битового шаблона или заданного маркера, которые вы должны искать.

Из вашего примера вы даже не можете определить, возвращает ли он JSON против HTML или что-то подобное, поскольку в этом случае весьма вероятно, что сервер отвечает на вашу строку Accept: вместо случайного выбора того или другого на основе URL (хотя, учитывая, что любой конкретный сервер может отвечать на любой конкретный URL, как ему нравится, вероятно, есть серверы, которые определяют его таким образом).

1 голос
/ 15 ноября 2010

Извлечение REST API должен быть основан на гипертексте статьи Роя Филдинга.Он определяет, что такое REST, в своем «Принципе проектирования современной веб-архитектуры».

0 голосов
/ 17 ноября 2010

Учитывая URL, вы следуете архитектурному стилю REST, если

a) вы не знаете, какой тип носителя будет возвращен с этого URL, вместо этого вы как клиент указываете, какие типы носителейвы поддерживаете использование заголовка accept и реагируете в зависимости от типа возвращаемого носителя и

b) единственные действия, которые вы предпринимаете, основаны на информации, вложенной в возвращенный ответ.т.е. вы переходите только по ссылкам, которые есть в возвращенном ответе.

...