RESTful веб-сервис в Seam Framework

Seam Framework уже включает в себя реализацию спецификации JAX-RS под названием RESTEasy. В библиотеках Seam вы можете увидеть три jar-файла, относящихся к RESTEasy:
  • jaxrs-api.jar
  • resteasy-jaxrs.jar
  • jboss-seam-resteasy.jar
Настройка В вашем проекте найдите и откройте файл components.xml. К корневому элементу components добавьте следующее пространство имен:
xmlns:resteasy="http://jboss.com/products/seam/resteasy"
Также необходимо добавить объявление префикса:
<resteasy:application resource-path-prefix="/restv1"/>
В нашем случае префикс будет restv1. Префикс обычно используется для версионности. Вид components.xml после внесения наших изменений:
<?xml version="1.0" encoding="UTF-8"?>
<components xmlns="http://jboss.com/products/seam/components"
            xmlns:core="http://jboss.com/products/seam/core"
            xmlns:drools="http://jboss.com/products/seam/drools"
            xmlns:mail="http://jboss.com/products/seam/mail"
            xmlns:persistence="http://jboss.com/products/seam/persistence"
            xmlns:security="http://jboss.com/products/seam/security"
            xmlns:web="http://jboss.com/products/seam/web"
            ...
            xmlns:resteasy="http://jboss.com/products/seam/resteasy"><!--Добавлено-->
            ....
            <resteasy:application resource-path-prefix="/restv1"/><!--Добавлено-->
</components>
Объявим наш класс, который будет обрабатывать REST-запросы:
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.core.Response;
@Path("/ttt")
public class Test {
    @GET
    public Response echo(){
        String msg = "Hello, World!!!";
        System.out.println(msg);
        return Response.status(200).entity(msg).build();
    }
}
Что делает этот класс? По пути /ttt принимает GET-запрос и выводит сообщение "Hello, World!!!" в лог и возвращает его же в качестве ответа. Сервис доступен по адресу: http://<Сервер>:<Порт>/<Имя веб-приложения>/seam/resource/restv1/ttt Если ввести в браузер этот адрес, то в лог и в браузер будет выведено сообщение: "Hello, World!!!" Более полную информацию смотрите в документации к Seam Framework: 24.4. RESTful HTTP webservices with RESTEasy
Поделиться данной статьей через:  

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.