![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
powerOn |
|
||||||||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 28 Всего: 159 |
Обработка HTTP запросов с помощью RESTful веб-сервисов.
В первой статье (RESTful веб-сервисы: Создание простого сервиса, с помощью JAX-RS и Mаven) был проведен небольшой обзор RESTful веб-сервисов, а так же показан пример создания простого сервиса с помощью стека Jersey и Maven2. В данной статье мы коснемся вопросов обработки HTTP запросов. Аннотации и обработчики Обработка основных HTTP запросов с помощью RESTful сервисов делается необычайно просто: достаточно создать метод и пометить его соответствующей аннотацией (которые называются как "resource method designator" (указатель на метод ресурса)). Jersey поддерживает следующие аннотации для назначения обработчиков http запроса:
Использование @GET и @POST
Осуществить запрос к данному сервису можно используя методы GET и POST. В первом случае URL будет выглядеть как:
А во втором, для POST запроса, так:
Следует отметить, что для успешной обработки MIME тип у POST запроса должен быть text/plain, иначе сервер вернет ошибку HTTP Status 415. Контент запроса будет передан в метод в качестве параметра. так же обратите внимание на используемый в коде объект класса UriInfo. Он автоматически инжектируется окружением и служит для получения информации об URI, по которому происходит обработка запроса. Использование @HEAD HEAD запрос так же можно обрабатывать с помощью RESTful сервиса. Но его обработчики не так часто используются как для GET и POST. Обычно HEAD запрос применяется для извлечения метаданных или проверки наличия ресурса, при этом клиенту отправляется только заголовок ответа (без его тела). Интересным фактом, является то, что если явно не создавать метод обработчик c аннотацией @HEAD, то будет использоваться обработчик @GET запроса, но в ответ будет отправлен только заголовок – тело будет проигнорировано.
На этом всё. Получить информацию об остальных обработчиках можно обратившись к официальной документации по JAX-RS (JSR-311). Ссылки на ресурсы используемые при написании статьи: Jersey Home - домашняя страница проекта Jersey. RESTful Web Services - обзор RESTful веб-сервисов на java.sun.com. JSR 311: JAX-RS: The JavaTM API for RESTful Web Services - спецификация JAX-RS 1.0. RESTful Web Services Developer's Guide - руководство разработчика. Это сообщение отредактировал(а) powerOn - 5.1.2009, 21:07 |
||||||||
|
|||||||||
Foror |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 14.2.2004 Репутация: 1 Всего: 2 |
Вот это сомнительные команды. Думаю @POST и @GET более чем достаточно. На хабре, кстати, было обсуждение на эту тему. --------------------
Разработка веб-сайтов и создание интернет магазина |
|||
|
||||
powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 28 Всего: 159 |
Тут подход такой: в REST стиле HTTP методы отлично мапятся на СRUD методы, который типично реализуются в remote facade. Т.е.
Create - POST. Read - GET. Update - PUT. Delete - DELETE. Реализуя методы таким образом, легко ориентироваться в обработчиках операций. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |