2012-05-23 3 views
0

Мне нужно создать клиентскую библиотеку для доступа к веб-сервису на основе REST через HTTPS.Java-совместимый клиент REST в Ruby

Не будучи слишком знакомым с Java, я хотел бы сделать это в Ruby, а затем скомпилировать в банку.

Полезная нагрузка Я пошлю будет (в формате JSON) что-то вроде:

{ 
    "api-token": "12345", 
    "org_number": 5, 
    "name": "ABC corp", 
    "users": { 
    "employee_number": 1, 
    "name": "bob jones", 
    "email": "[email protected]" 
    } 
} 

Я предполагаю, что клиентская библиотека потребуется:

  • Инициализировать новый экземпляр интерфейса API с API токенов
  • Дайте информацию об организации организации и множество пользователей
  • Сообщите экземпляру, чтобы сериализовать организацию и пользователей в JSON и POST на webse rvice/орг/новый

Так что мой вопрос:

  • Как структурировать свои классы на Ruby для создания интерфейса программист Java будет комфортно с (что-то вроде http://twitter4j.org/en/code-examples.html, например)
+0

Недавно я написал клиента REST на Java для использования на работе. Я могу дать вам некоторый код, если вы хотите попытаться изменить его в соответствии с вашими потребностями. –

+0

Спасибо за предложение Dan. К сожалению, я не очень хорошо разбираюсь в Java и должен буду поддерживать приложение, поэтому предпочел бы написать что-то в Ruby и преобразовать в Java –

+0

Я не могу слишком сильно помочь в записи части REST в Ruby, но что касается ее компиляции как банку, посмотрите на jruby.org. Также см. Http://stackoverflow.com/questions/1169674/ruby-code-to-jar –

ответ

3

Вы считаете JRuby?

https://github.com/jruby/jruby/wiki

+0

У меня проблема: это будет использоваться в клиентских библиотеках, и я не хочу, чтобы людям приходилось устанавливать JRuby для его использования. Компиляция в JAR через JRuby прекрасна –

0

Есть у слышал ApiClient?

Он хорошо работает внутри рельсов, что делает ваш контроллер максимально тонкими. Но он также работает с не-rails-приложением.

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

Он автоматически инициализирует объект, используя ответ api для вас, и отправляет все запросы json.

Он все еще находится в разработке, поэтому дайте мне знать о любой функции, которая вам может понадобиться.

Я использую его для доступа к API, для которого требуется токен для OAUTH2, и он работает очень хорошо.

Надеюсь, вам понравится. =)

+0

Интересное Paulo благодарит за упоминание об этом –