Начало использования веб-служб в приложении Ruby on Rails 3
Итак, я начинаю изучать Rails. Теперь, когда Rails 3 отсутствует, я хочу придерживаться способа Rails 3 делать вещи. Одна из вещей, которую я хочу научиться делать, - это как использовать веб-службы/работать с сторонними API-интерфейсами REST/создавать приложения "mashup". Я выполнял минимальную работу с PHP и встроенными библиотеками.
Может кто-нибудь может привести меня к некоторым ресурсам, передовой практике или дать мне быстрый урок о том, как начать работать с этими типами API? Какие драгоценные камни я должен использовать? Некоторый пример кода, чтобы начать меня, будет очень признателен.
Обновление: Я специально пытаюсь использовать API Google Книги (не аутентифицированный). Поскольку для этого API нет клиентской библиотеки, мне интересно, как другие разработчики Ruby/Rails работают с API, которые не поставляются со своей собственной библиотекой Ruby. Вот почему я ищу более общее решение для работы с API-интерфейсом "заполнить пустой".
Обновление:. После некоторых исследований я заметил библиотеку Net:: HTTP. Все учебники, которые говорили об этом, были довольно старыми. Является ли это еще лучшей библиотекой для использования веб-сервисов RESTful? Или есть новый Gem, который делает это проще? Я просто хочу знать, какую gem/библиотеку я должен использовать, и как работать с результатом XML/JSON, который возвращается.
Обновление: Эта презентация была действительно полезна. В нем упоминается множество разных библиотек и показаны примеры некоторых из упомянутых ниже библиотек: http://www.slideshare.net/pengwynn/json-and-the-apinauts
Ответы
Ответ 1
Я довольно большой поклонник HTTParty.
Это абстракционный слой поверх Net:: HTTP с небольшим количеством DSL для использования веб-сервисов. Вот хороший пример того, как легко его использовать.
Это не без бородавок (много зависимостей), но это действительно способ пойти, если вы на стороне потребления.
Ответ 2
Я бы рекомендовал REST с Nokogiri:
http://railscasts.com/episodes/190-screen-scraping-with-nokogiri
Nokogiri хорошо работает с xml, а не только с HTML.
Ответ 3
Weary - это действительно аккуратный DSL для использования сервисов RESTful.
Явно вдохновлен HTTParty, но немного более новым и немного более кратким.