Показаны сообщения с ярлыком REST. Показать все сообщения
Показаны сообщения с ярлыком REST. Показать все сообщения

понедельник, 20 февраля 2017 г.

Визуализация и тестирование REST API с помощью Swagger на WebSphere Liberty

В последние годы все большую популярность набирает стандарт описания интерфейсов RESTful веб-сервисов Swagger. Фактически Swagger становится для RESTful-сервисов тем же, чем является WSDL для SOAP-сервисов. При этом разработчики серверов приложений активно добавляют поддержку данного стандарта в свои продукты. Вот и флагманский сервер приложений WebSphere Liberty корпорации IBM обзавелся новой возможностью apiDiscovery, позволяющей найти все доступные на сервере REST API и динамически создать Swagger-подобный интерфейс пользователя для тестирования найденных конечных точек.


В данной статье мы рассмотрим процесс реализации некоего REST API с помощью сервлетов, его документирования на Swagger и тестирования с помощью пользовательского интерфейса apiDiscovery. Дополнительно я расскажу о достаточно богатом механизме обнаружения сервером приложений доступных Swagger-документов и генерации таковых по аннотациям JAX-RS и Swagger.

среда, 13 января 2016 г.

Пишем простой RESTful веб-сервис на Spring Web MVC

Суровый разместил на GitHub'е новый репозиторий, в котором будет собирать примеры использования Spring Framework 4.x. И сегодня я поделюсь с уважаемыми читателями блога примером простого RESTful веб-сервиса, реализованного на базе фреймворка Spring Web MVC и не содержащего ни строчки XML за исключением pom.xml.


Архитектура сервиса


Задачей примера было продемонстрировать реализацию классической многослойной архитектуры, к которой тяготеет большинство приложений, построенных на основе Spring Framework. Точкой входа является контроллер MessageController, в который инжектируются "сервисы" MessageService и ZShopService:

четверг, 19 декабря 2013 г.

SOAP vs RESTful

Поучаствовал в бурных дебатах с коллегами на тему отличий SOAP- и REST-подходов. Вопрос довольно общий, возникает часто, поэтому я решил поделиться своим мнением в блоге.

Обычно при сравнении SOAP- и RESTful-сервисов заводят разговор о том, что мол "ну SOAP же тяжелый протокол, а REST-легкий, это всем известно". Но что тяжелого в SOAP-запросе? Пустой SOAP-запрос с заголовком выглядит следующим образом:


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Header/>
   <soapenv:Body>
   </soapenv:Body>
</soapenv:Envelope>

Данный запрос занимает всего 158 байт. Говорить о том, что что-то тяжелое только потому что оно на 158 байт длиннее чего-то "легкого" несерьезно. Естественно, что различия между данными подходами гораздо глубже.

пятница, 24 июня 2011 г.

Eclipse Indigo: Пять причин обратить внимание на ECF


Поздравляю всех читателей с официальным выходом Eclipse 3.7 Indigo. Здесь камрад James Sugrue написал статью на JavaLobby - Eclipse Indigo Highlights: Five Reasons to Check Out ECF. Позволю себе перевести ее на русский язык.

Eclipse Communication Framework [1] - традиционный участник Eclipse release trains (перевод "поездов релизов Eclipse" мне как-то не очень нравится, однако термин "поезд" применительно к релизу ПО меня забавляет уже третий год) - непрерывно добавляет новое в свой впечатляющий список возможностей. Данный год не стал исключением - в релиз Eclipse Indigo включен ECF 3.5. В данной статье я сосредоточусь на пяти ключевых возможностях новой версии.

среда, 18 августа 2010 г.

Настраиваем взаимодействие Eclipse - GlassFish v3


Сервер приложений GlassFish является Reference Implementation спецификации JavaEE 6 (так же известной под названием JSR-316), поэтому знакомство с ним будет полезно любому разработчику, планирующему использовать как весь стек JavaEE, так и некоторые его компоненты.

Интегрированная среда разработки Eclipse позволяет упростить взаимодействие с сервером приложений, в частности - автоматизировать создание специфичной для него структуры проекта, облегчить запуск/останов сервера и разворачивание на нем разрабатываемого приложения. Так же очень полезной функцией IDE является обеспечение горячего разворачивания приложения - возможности заменять классы и статический контент "на лету", т.е. непосредственно после компиляции, не прибегая каждый раз к сборке архивов модулей (war, ear, rar, jar) и переустановке приложения целиком. Данная возможность существенно ускоряет разработку и отладку приложения.

четверг, 24 июня 2010 г.

Знакомимся: Eclipse Marketplace - все популярные плагины в одном месте


В рамках релиза Eclipse Helios был запущен единый репозиторий плагинов для этой замечательной среды, а также приложений, построенных на базе платформы Eclipse RCP и услуг, оказываемых по данной платформе.

Называется репозиторий - Eclipse Marketplace и располагается по адресу. В состав репозитория на сегодняшний день входит 847 утилит (плагинов), 89 приложений и 84 услуги.

Удобно, что для Eclipse IDE был разработан клиент для Marketplace, доступный, что называется, "из коробки". Данный клиент позволяет легко искать, выбирать, устанавливать и обновлять плагины и приложения, входящие в состав репозитория. Давайте рассмотрим подробнее возможности этой утилиты и порядок работы с нею.

понедельник, 17 мая 2010 г.

Знакомимся: RSS/Atom парсер/генератор для Java - проект ROME


Введение


Форматы RSS/Atom активно используются для синдикации данных. Многие пользователи сети Интернет уже не представляют свою жизнь без использования RSS/Atom агрегаторов для чтения блогов, новостных лент, получения бизнес-информации и т.д. Даже архивы списков почтовых рассылок доступны с помощью RSS. Atom, в свою очередь, так же используется как один из форматов взаимодействия с RESTfull сервисами.

В связи с широкой распространенностью RSS и Atom лент необходимо программное обеспечение для их генерации и разбора (парсинга), причем желательно в некоторую объектную модель API работы с которой проще чем DOM. Для решения данной задачи в мире Java существует библиотека com.sun.syndication, которая так же называется проект ROME. Последняя версия библиотеки - 1.0 - выпущена в марте 2009-го года.

воскресенье, 20 декабря 2009 г.

ECF: Взаимодействуем с Twitter с помощью REST API и XStream


Продолжаем беседу об Eclipse Communication Framework. Сегодня мы рассмотрим, как использовать появившийся в версии 3.1 REST API на примере взаимодействия с наиболее популярным сервисом микроблогов - с Twitter.

Поддержка REST была добавлена в ECF этой осенью горячим немецким парнем по имени Holger Staudacher в рамках Google Summer of Code (который я, кстати, считаю гораздо более полезным, нежели Imagine Cup от небезызвестной корпорации). Реализация данной функциональности представленна контейнером ecf.rest.client и базируется на Remote services API.