Spring Framework. Simple REST Service
Line 167: | Line 167: | ||
− | + | ==Тестирование приложения== | |
− | + | Для тестирования REST-сервиса используем web-сервер [[Mac OS X. Jetty|Jetty]] | |
− | + | ||
− | + | 1. Переходим в папку '''target''' проекта: | |
− | + | ||
− | + | cd ~/projects/web/SimpleRestService/target/ | |
− | + | ||
− | + | 2. Копируем собранное приложение в папку '''webapps''' jetty: | |
− | + | ||
− | + | cp SimpleRestService-1.0.war ~/app/jetty-9.3.8/webapps/ | |
− | + | ||
− | + | 3. Переходим в корневую папку jetty: | |
− | + | ||
− | + | cd ~/app/jetty-9.3.8/ | |
− | + | ||
− | + | 4. Запускаем jetty: | |
− | + | ||
− | + | java -jar start.jar | |
− | + | ||
− | + | 5. Вызываем REST-сервис: | |
− | + | ||
+ | http://localhost:8080/SimpleRestService-1.0/api/test/helloworld | ||
+ | |||
+ | 6. В окне браузера получаем ответ: | ||
+ | |||
+ | Hello, world! | ||
Revision as of 10:16, 27 March 2016
Simple REST Service
1. Создаем Maven-проект в IntelliJ IDEA:
File / New / Project... Maven Project SDK: 1.8 [Next] GroupId: org.asistech.web.srs ArtifactId: SimpleRestService Version: 1.0 [Next] Project name: SimpleRestService Project location: ~/projects/web/SimpleRestService [Finish]
Структура проекта:
2. Добавляем папки webapp, WEB-INF и файл app-servlet.xml (конфигурация контекста приложения):
Содержимое app-servlet.xml:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> </beans>
3. В файле pom.xml (конфигурация сборки проекта) указываем, что web-приложение будет запаковано в Web Application Archive (war), и добавляем зависимость на spring-webmvc:
<?xml version="1.0" encoding="UTF-8"?> <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>org.asistech.web.srs</groupId> <artifactId>SimpleRestService</artifactId> <version>1.0</version> <packaging>war</packaging> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.2.5.RELEASE</version> </dependency> </dependencies> </project>
4. В папку java добавляем пакет org.asistech.web.srs.api, и создаем в нем класс TestRS.java (REST-сервис):
Содержимое TestRS.java:
package org.asistech.web.srs.api; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/api/test") public class TestRS { @RequestMapping(value = "/helloworld", method = RequestMethod.GET) @ResponseBody public String getHelloWorld() { return "Hello, world!"; } }
5. Добавляем в контекст app-servlet.xml новый bean:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean name="TestRS" class="org.asistech.web.srs.api.TestRS"/> </beans>
6. В папку WEB-INF добавляем файл web.xml (deployment descriptor):
Содержимое web.xml:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" version="2.5"> <servlet> <servlet-name>app</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>app</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> </web-app>
7. Выполняем сборку проекта:
cd ~/projects/web/SimpleRestService/ mvn clean install ... [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1.516s [INFO] Finished at: Sat Mar 25 20:38:47 MSK 2021 [INFO] Final Memory: 19M/981M
Тестирование приложения
Для тестирования REST-сервиса используем web-сервер Jetty
1. Переходим в папку target проекта:
cd ~/projects/web/SimpleRestService/target/
2. Копируем собранное приложение в папку webapps jetty:
cp SimpleRestService-1.0.war ~/app/jetty-9.3.8/webapps/
3. Переходим в корневую папку jetty:
cd ~/app/jetty-9.3.8/
4. Запускаем jetty:
java -jar start.jar
5. Вызываем REST-сервис:
http://localhost:8080/SimpleRestService-1.0/api/test/helloworld
6. В окне браузера получаем ответ:
Hello, world!