Skip to content

[ru] Быстрый старт

Aleksey Zhidkov edited this page Feb 5, 2016 · 1 revision

Restler Quick Start

Что такое Restler

Restler - это библиотека, позволяющая автоматически гененрировать прокси для доступа по HTTP к Spring бинам, проаннотированным аннотациями Spring MVC, такими как @Controller и @RestController. Использование Restler позволит вам не писать шаблонный код клиентов к своим REST-сервисам основанным на Spring MVC.

Для того чтобы подключить Restler к вашему проекту достаточно выполнить 3 шага:

  • Убедиться, что у клиента есть доступ к классам или интерфейсам, которые проаннотированы аннотациями Spring MVC и к типам всех их аргументов, возвращяемых значенмй и исключений;
  • Добавить Restler в зависимости;
  • Создать экземпляр класса org.restler.Service.

Добавление классов контроллеров в CLASSPATH клиента

Restler проектируется таким образом, чтобы быть максимально прозрачным и не предъявлять каких-то особенных требований к вашему коду. Однако одного требования избежать невозможно - в класспасе ваших клиентов должны быть доступны классы, к которым вы обращаетесь по HTTP. Это необходимо по 2 причинам:

  • Нам необходим какой-то тип (класс или интерфейс), реализацию которого мы будем генерировать и экземпляры котрого мы будем выдавать вам для использования
  • Нам необходимо каким-то образом получить информацию о маппинге ваших URL на ваши контроллеры. И наилучшим способом будет воспользоваться первоисточником который никода не врёт - аннотациями на ваших контроллерах.

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

Добавление Restler в зависимости

Релизные версии Restler публикуются в Maven Central, поэтому для добавления его в зависимости вашего проекта достаточно со страницы деталей проекта на Maven Central скопировать строки соответствующие вашей билд системе

Создание экземпляра класса Service

Для того чтобы создат экземпляр класса сервиса, необходимо воспользоваться классом Restler. В простейшем случае билдер достаточно сконфигурировать только URL-ом сервера и модулем поддержки Spring MVC:

  Service service = new Restler("http://localhost:8080", new SpringMvcSupport()).build(); // создание сервиса
  UserController userControllerProxy = service.produceClient(UserController.class); // Создание прокси удалённого REST-контроллера
  userControllerProxy.login(login, pass); // Выполнение REST запроса