![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
powerOn |
|
||||||||||||||||||||||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 28 Всего: 159 |
Доступ к параметрам запросов в RESTful веб-сервисах.
Во второй статье (RESTful веб-сервисы: Обработка HTTP запросов) было показано как обрабатывать HTTP запросы с помощью RESTful веб-сервисов. В данной статье мы коснемся вопросов доступа и обработки параметров HTTP запросов. Виды параметров и их определение. JAX-RS поддерживает следующие виды параметров для автоматического инжектирования:
Пример использования @Path параметров с шаблонами. Path-параметр извлекается непосредственно из URI. Шаблон для него можно задать с помощью аннотации @Path, а извлечении сделать с помощью @PathParam. Рассмотрим следующий шаблон URI:
{filename} и {version} могут меняться, но обработка должна происходить в одном сервисе. При этом, {version} может состоять только из числовых символов. Такой URI можно обрабатывать следующим сервисом:
Примером реального и правильного URI в данном случае может быть такой:
Результатом такого запроса:
Будет ошибка 404, поскольку параметр версии не удовлетворяет заданному шаблону. Так же можно использовать объект UriInfo для получения доступа к параметрам:
Пример использования @QueryParam. @QueryParam используется для извлечения параметров запроса. Такие параметры передаются после URI запроса. Вот пример такого URI:
В данном случае передается 2 параметра: filename со значением test.txt и version со значением 12. Получить доступ в сервисе к таким параметрам можно как показано в следующем примере:
Пример использования @MatrixParam. Получение Matrix параметров схоже с получением Query параметров. Пример URI:
Код сервиса для обработки Matrix параметров:
Пример использования @FormParam. Аннотация @FormParam может быть использована для извлечения параметров переданных POST запросом, если его MIME тип application/x-www-form-urlencoded. @FormParam используется аналогично другим аннотациям для доступа к параметрам.
Пример использования @DefaultValue. Вы также можете использовать аннотацию @DefaultValue для установки значения по умолчанию для параметров. Это полезно, если оно не было явно задано в запросе.
На этом я завершаю обзор методов получения доступа к параметрам запросов из RESTful веб-сервисов. Дополнительную информацию можно получить обратившись к официальной документации по 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 - 6.1.2009, 22:36 |
||||||||||||||||||||||
|
|||||||||||||||||||||||
Foror |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 14.2.2004 Репутация: 1 Всего: 2 |
Почему-то кажется это всё лишнее и не нужное... Хотя может это и важно для разработчиков RESTful сервисов, у меня как-то не было в этом опыта.
--------------------
Разработка веб-сайтов и создание интернет магазина |
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |