RESTEasy быстро становится моим любимым проектом. RESTEasy позволяет легко и быстро создавать службы на основе REST с Java. Сегодня я покажу вам, как быстро вы можете запустить минимальную службу REST с помощью IDE NetBeans 7.1 и RESTEasy.
Создайте новое веб-приложение Maven с помощью NetBeans 7.1 и назовите его HelloRESTEasy .
По умолчанию создается страница index.jsp , удалите ее, так как она нам не понадобится.
Теперь мы добавим зависимости RESTEasy в проект. С IDE NetBeans это просто. Щелкните правой кнопкой мыши на Зависимости и выберите: Добавить Зависимости …
В появившемся диалоговом окне введите resteasy-jaxrs в текстовое поле запроса .
Мой файл Maven pom.xml в итоге выглядел так с добавленной зависимостью:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.giantflyingsaucer</groupId> <artifactId>HelloRESTEasy</artifactId> <version>1.0-SNAPSHOT</version> <packaging>war</packaging> <name>HelloRESTEasy</name> <properties> <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-jaxrs</artifactId> <version>2.3.2.Final</version> </dependency> <dependency> <groupId>javax</groupId> <artifactId>javaee-web-api</artifactId> <version>6.0</version> <scope>provided</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.6</source> <target>1.6</target> <compilerArguments> <endorseddirs>${endorsed.dir}</endorseddirs> </compilerArguments> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.1.1</version> <configuration> <failOnMissingWebXml>false</failOnMissingWebXml> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.1</version> <executions> <execution> <phase>validate</phase> <goals> <goal>copy</goal> </goals> <configuration> <outputDirectory>${endorsed.dir}</outputDirectory> <silent>true</silent> <artifactItems> <artifactItem> <groupId>javax</groupId> <artifactId>javaee-endorsed-api</artifactId> <version>6.0</version> <type>jar</type> </artifactItem> </artifactItems> </configuration> </execution> </executions> </plugin> </plugins> </build> </project>
Добавьте новый класс в пакет по умолчанию под названием: HelloService
Код для нашего сервиса REST прост. Это позволит нам сделать HTTP GET и вернуть приветствие. Мы можем передать имя и отправить его обратно для приветствия. Вот код:
package com.giantflyingsaucer.helloresteasy; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.core.Response; @Path("/") public class HelloService { @GET @Path("/Hello/{name}") public Response printMessage(@PathParam("name") String name) { return Response.status(200).entity("Hello " + name).build(); } }
Последний шаг перед компиляцией проекта — добавить файл web.xml со следующим содержимым:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <context-param> <param-name>resteasy.scan</param-name> <param-value>true</param-value> </context-param> <context-param> <param-name>resteasy.servlet.mapping.prefix</param-name> <param-value>/</param-value> </context-param> <servlet> <servlet-name>HelloService</servlet-name> <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class> </servlet> <listener> <listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class> </listener> <servlet-mapping> <servlet-name>HelloService</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> </web-app>
Постройте проект. Теперь вы можете взять полученный WAR-файл и поместить его в папку веб-приложений Apache Tomcat . Запустите Tomcat и проверьте следующую ссылку (внесите исправления в заданный вами путь):
HTTP: // локальный: 8080 / HelloRESTEasy-1,0-ПАНОРАМА / Привет / Чад
Ожидаемые результаты:
Привет чад |