Задать вопрос

REST-service контракт?

Приветствую!


Мучает вопрос о контракте REST-сервисов. О нем (о контракте), почему-то никогда не говорится. Если в случае с SOAP или подобными web-сервисами есть какой-то WSDL, по которому можно определить какие данные ходят и какие операции поддеркуживаются с какими запросами, то в REST'е такого нет (не будем говорить о WADL, потому что очень многие считают его заведомо мертвым). Более того, в случае с SOAP, часто применяется WSDL-first, когда сначала определяется контракт, а потом реализуется сервис.


Это понятная вещь при создании сервисов.


На одной конференции я пытался узнать про контракт REST-сервисов, и мне сказали, что в этом случае все не так и мы при запросе получаем список доступных операций. При этом контракта на приходящие данные, структуру их нет.


Отсюда сдается мне, что к пользованию и разработке REST сервисов нужно походить с какой-то другой философией.


Не могу понять с какой только, не подскажите?
  • Вопрос задан
  • 6874 просмотра
Подписаться 7 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
@spbcypher
Настоятельно советую книгу RESTful Web Services Cookbook- Solutions for Improving Scalability and Simplicity — очень хорошо о ресте, + там также рассмотрен вопрос документирования (там предлагается использовать метод HTTP OPTIONS)
Ответ написан
Комментировать
png
@png
Вообще-то есть WADL
Аналог WSDL для REST.
Ссылка про то как он нужен и важен.

Спек, где про него можно почитать.

И ещё в догонку — прикольный веб-сервис, позволяющий создать такой файл.

Есть так же библиотеки под разные языки, которые позволяют создавать такой файл автоматизированно.

На практике, протокол REST очень прост, просто проще SOAP. Поэтому описанием WADL часто пренебрегают. Но если он есть, то им очень удобно пользоваться.
Например, JetBrains Idea умеет генерить из WSDL/WADL файла набор java-классов, которыми уже можно пользоваться, чтобы работать с протоколом.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы