Введение в HTTParty

Главная / Введение в HTTParty

В этом посте мы рассмотрим gem’ы в Ruby в общем, а также конкретный gem под названием HTTParty.

Итак, RubyGems — это, в целом, менеджер пакетов. Вы можете посмотреть информацию о нём на сайте rubygems.org. Там действительно можно найти сотни и тысячи сторонних gem’ов.

Также, Gem — это менеджер пакетов, который устанавливается вместе с установкой Ruby. Вы можете выполнять такие команды как gem install name.

Если вы хотите узнать, установлен ли gem, вы можете сделать gem list, в этом случае httparty.

Если он не установлен, выполните команду gem install httparty.

Вы также можете увидеть больше деталей о gem’е с помощью команды gem list httparty -d.

Что такое Restful веб-сервисы

Restful веб-сервисы это простые веб-сервисы реализованные с помощью HTTP (и принципов REST), которые:

  • Имеют базовый URI
  • Поддерживают форматы обмена данными такие как JSON и XML (и, возможно, другие)
  • Поддерживают набор HTTP-операций (GET, POST и т.д.)

Вместо того, чтобы думать о вебе в целом как о куче HTML-страниц, подумайте о нём как о том, что больше соответствует MVC-шаблону, который мы обсуждали.

Веб-сайт это что-то, что просто хранит какие-то ресурсы. Когда вы переходите на сайт, вы можете получить эти ресурсы в любом из форматов. Возможно, вы получите их в качестве HTML, возможно в качестве JSON или XML, которые могут быть разными форматами для представления одного и того же.

Некоторые форматы легче парсить, чем другие. К примеру, HTML не очень подходит для парсинга, но XML и JSON подходят хорошо.

Означает ли это, что вы должны изучить полностью новый формат и писать парсер для него в Ruby?

Нет, потому что это как раз то где на помощь приходит HTTParty.

Gem HTTParty

HTTParty это клиент для Restful веб-сервисов.

Представьте браузер. Ваш браузер является клиентом веб-сайта, и чаще всего вы видите HTML-страницы в нём.

Ваш браузер запрашивает что-то с сервера, сервер возвращает это, и браузер это отображает.

Но, опять же, эти данные трудно парсить. Поэтому, если вы хотите использовать их, к примеру, для коммуникации между двумя сайтами и запрашиваете информацию с другого Rails-приложения, вам больше подойдет формат который легко парсить, а не только легко отображать.

HTTParty обеспечивает автоматический парсинг JSON и XML в ваши хэши (или массивы) Ruby.

Пока формат является валидным JSON или XML, HTTParty легко парсит данные в структуры Ruby, и затем вы можете просто использовать их.

Использование HTTParty

Это, на самом деле, довольно просто. Включаете модуль HTTParty в код и вы готовы!

Вы также можете указать:

  • base_uri для ваших запросов
  • default_params (к примеру, ключ API)
  • format, чтобы указать в каком формате данные

Плагин JSONView

Для браузеров (Chrome, Firefox и возможно других) есть плагин JSONView, который позволяет удобно просматривать файлы JSON.

С этим плагином JSON API будет выглядеть примерно так:

В общем, рекомендую установить.

Пример URL в API

Пример URL в API:

Через ? указываются параметры, второй параметр (как и следующие) указывается через &.

В данном примере мы запрашиваем контент определенного изображения с параметрами высоты и ширины не ниже заданных размеров.

В итоге

HTTParty позволяет чрезвычайно просто интегрировать Restful-сервисы, конвертируя их в хэши Ruby.

Поддерживаются форматы JSON и XML.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *