Spring Framework. Simple REST Service
From AsIsWiki
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:
3. Содержимое контекста приложения app-servlet.xml:
1 2 3 4 5 6 7 8 | <? xml version = "1.0" encoding = "UTF-8" ?> xsi:schemaLocation=" </ beans > |
4. В конфигурации сборки проекта pom.xml указываем, что web-приложение будет запаковано в Web Application Archive (war), а также, добавляем зависимость на spring-webmvc:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <? xml version = "1.0" encoding = "UTF-8" ?> xsi:schemaLocation=" < 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 > |
5. В папку java добавляем пакет org.asistech.web.srs.api, и создаем в нем класс REST-сервиса TestRS.java:
6. Содержимое класса TestRS.java:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 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!" ; } } |
7. Добавляем в контекст приложения app-servlet.xml новый bean:
1 2 3 4 5 6 7 8 9 10 | <? xml version = "1.0" encoding = "UTF-8" ?> xsi:schemaLocation=" < bean name = "TestRS" class = "org.asistech.web.srs.api.TestRS" /> </ beans > |
8. В папку WEB-INF добавляем дескриптор развертывания web-приложения web.xml:
Содержимое дескриптора web.xml:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <? xml version = "1.0" encoding = "UTF-8" ?> < 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 > |