использование веб-сервисов REST в качестве источника данных для Lift? - PullRequest
4 голосов
/ 07 апреля 2010

Есть ли способ использовать веб-сервис (в данном случае REST) ​​в качестве источника данных для приложения Lift? Я могу найти несколько учебных пособий / примеров использования Lift для предоставления REST API, но в моем случае данные размещаются в другом месте и экспортируются как веб-сервис REST. Указатели на документ очень ценятся.

Спасибо, Джефф

Ответы [ 4 ]

2 голосов
/ 12 апреля 2010

Это на самом деле не связано с лифтом.Уже есть много различной информации:

  • Библиотека HttpClient, как уже предлагалось,
  • или Dispatch Библиотека Scala для доступа к службам HTTP
  • информация о том, как кэшировать данные в Scala различными способами на случай необходимости

Тщательно подумайте о кэшировании, обычно это хороший выбор, если ваше приложение генерирует много запросов и вы можетепозволить себе кеширование.Кэширование позволит вам достичь многих целей:

  1. уменьшить время отклика, поскольку вы не зависите от удаленного сервиса (если вы выполняете синхронную обработку данных)
  2. избегайте отказа в обслуживании в случаеудаленный сервис умирает.В противном случае ваше приложение сгенерирует много сокетов для чтения данных и исчерпает ресурсы (либо сокеты, либо потоки, либо что-то еще)
  3. не превышает SLA удаленного сервиса, так как многие сервисы ограничивают количество запросов, которые вы можете выполнятьза какую-то единицу времени.

Так что вы можете просто сидеть и складывать эти вещи, вот и все.

1 голос
/ 01 сентября 2010

Если вы действительно хотите проявить фантазию, вы можете создать реализацию Record для источника данных на основе REST. Уже существует один из них, который работает с CouchDB. Используя модуль lift-couchdb, взаимодействие с CouchDB абстрагируется, и все, с чем вы имеете дело, это код Scala. Здесь есть короткая вики-страница с инструкциями по началу работы с lift-couchdb:

http://www.assembla.com/wiki/show/liftweb/CouchDB

Соответствующие файлы исходного кода доступны здесь:

http://github.com/lift/lift/tree/master/framework/lift-persistence/lift-couchdb/src/main/scala/net/liftweb/couchdb/

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

0 голосов
/ 12 августа 2011

Я использую Dispatch (который является оберткой вокруг HttpClient) для выполнения вызовов REST.Выглядит красиво и просто

0 голосов
/ 09 апреля 2010

Я наложил слой scala поверх HttpClient и затем использовал его. Я собирался поставить это на github в течение некоторого времени.

...