Minisiia / RestTomcat

Rest example from lecture with Tomcat

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RestTomcat

Rest example from lecture with Tomcat

6. Web service. rest & soap

Заметки

Строка запроса

http://localhost:8080/rest/MyRestService/2/20

Jersey REST Service

Jersey REST Service - это фреймворк для разработки веб-служб RESTful в Java. Он является одной из реализаций спецификации JAX-RS (Java API for RESTful Web Services) и предоставляет удобные средства для создания и развертывания RESTful веб-служб.

Вот некоторая информация о Jersey REST Service:

  • Аннотации: Jersey использует аннотации JAX-RS для определения ресурсов и методов веб-службы. Например, аннотация @Path используется для указания пути к ресурсу, а аннотация @GET указывает, что метод обрабатывает HTTP GET запросы.

  • Ресурсы: В Jersey REST Service ресурсы представляют собой классы, которые обрабатывают запросы и возвращают ответы. Методы в классе ресурса аннотируются соответствующими аннотациями JAX-RS для указания типа запроса и пути к ресурсу.

  • Преобразование данных: Jersey автоматически преобразует данные в форматы, такие как JSON или XML, в зависимости от заголовков запроса. Он также обеспечивает поддержку сериализации и десериализации Java объектов в данные форматы.

  • Валидация: Jersey предоставляет возможности для валидации данных, получаемых от клиента. С помощью аннотаций и встроенных провайдеров валидации, можно определить правила валидации для параметров запроса или тела запроса.

  • Фильтры и интерцепторы: Jersey позволяет определять фильтры и интерцепторы, которые выполняются до и после обработки запросов и позволяют выполнять дополнительные операции, такие как логирование, аутентификация, авторизация и т.д.

  • Развертывание: Jersey REST Service может быть развернут на различных контейнерах сервлетов, таких как Apache Tomcat, Jetty или GlassFish. Для развертывания веб-службы Jersey необходимо настроить соответствующий web.xml файл и указать, что Jersey должен быть использован для обработки запросов.

Jersey предоставляет мощные инструменты для создания RESTful веб-служб в Java. Он обеспечивает удобный и декларативный способ определения и обработки ресурсов, а также предоставляет множество расширений и интеграций для решения различных задач при разработке веб-служб.

web.xml

<servlet>
  <servlet-name>Jersey REST Service</servlet-name>
  <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
  <init-param>
    <param-name>jersey.config.server.provider.packages</param-name>
    <param-value>service</param-value>
  </init-param>
  <load-on-startup>1</load-on-startup>
</servlet>

<servlet>: Это элемент, определяющий сервлет в контексте веб-приложения.

<servlet-name>: Устанавливает имя сервлета. В данном случае, имя установлено как "Jersey REST Service".

<servlet-class>: Указывает полное имя класса, который будет использоваться для обработки запросов. Здесь указан класс org.glassfish.jersey.servlet.ServletContainer, который является контейнером сервлета Jersey.

<init-param>: Определяет параметры и их значения для конфигурации сервлета.

<param-name>: Устанавливает имя параметра конфигурации.

<param-value>: Устанавливает значение параметра конфигурации. Здесь указано значение "service", которое предполагает, что классы сервиса будут находиться в пакете с именем "service".

<load-on-startup>: Указывает порядок загрузки сервлета при старте приложения. Значение "1" указывает на загрузку сервлета при старте приложения.

<servlet-mapping>
  <servlet-name>Jersey REST Service</servlet-name>
  <url-pattern>/rest/*</url-pattern>
</servlet-mapping>

<servlet-mapping>: Определяет соответствие между сервлетом и URL-шаблонами, к которым он должен обрабатывать запросы.

<servlet-name>: Указывает имя сервлета, для которого определено соответствие.

<url-pattern>: Определяет URL-шаблон, который будет обрабатываться сервлетом. Здесь указан шаблон "/rest/*", что означает, что все запросы, начинающиеся с "/rest/", будут обрабатываться сервлетом.

javax.ws.rs.*

Аннотации из пакета javax.ws.rs.* предоставляют возможности для определения и настройки веб-служб RESTful с использованием JAX-RS. Давайте рассмотрим некоторые из наиболее распространенных аннотаций этого пакета:

  1. @GET: Эта аннотация применяется к методу веб-службы и указывает, что метод должен обрабатывать HTTP GET запросы.

  2. @POST: Аннотация @POST применяется к методу веб-службы и указывает, что метод должен обрабатывать HTTP POST запросы.

  3. @PUT: Аннотация @PUT применяется к методу веб-службы и указывает, что метод должен обрабатывать HTTP PUT запросы.

  4. @DELETE: Аннотация @DELETE применяется к методу веб-службы и указывает, что метод должен обрабатывать HTTP DELETE запросы.

  5. @Path: Аннотация @Path применяется к классу или методу веб-службы и определяет путь к ресурсу или методу. Например, @Path("/users") указывает, что данный ресурс доступен по пути "/users".

  6. @PathParam: Аннотация @PathParam применяется к параметру метода веб-службы и связывает значение из URL-пути с данным параметром. Например, @PathParam("id") связывает значение из URL-пути с параметром id в методе.

  7. @QueryParam: Аннотация @QueryParam применяется к параметру метода веб-службы и связывает значение из строки запроса с данным параметром. Например, @QueryParam("page") связывает значение параметра page из строки запроса с параметром метода.

  8. @Produces: Аннотация @Produces применяется к методу или классу веб-службы и указывает типы данных, которые могут быть произведены в ответ на запросы клиента. Например, @Produces(MediaType.APPLICATION_JSON) указывает, что метод или класс может производить данные в формате JSON.

  9. @Consumes: Аннотация @Consumes применяется к методу или классу веб-службы и указывает типы данных, которые метод или класс может принимать в качестве входных данных. Например, @Consumes(MediaType.APPLICATION_JSON) указывает, что метод или класс может принимать данные в формате JSON.

  10. @HeaderParam: Аннотация @HeaderParam применяется к параметру метода веб-службы и связывает значение HTTP заголовка с данным параметром. Например, @HeaderParam("Authorization") связывает значение заголовка "Authorization" с параметром метода.

About

Rest example from lecture with Tomcat


Languages

Language:Java 100.0%