Spring Framework. Simple REST Service

From AsIsWiki
Revision as of 16:01, 26 March 2016 by Alex (Talk | contribs)

Jump to: navigation, search

Spring Framework


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]

Структура нового проекта:

SimpleRestService.png


2. Добавляем папки webapp, WEB-INF и конфигурационный файл контекста приложения app-servlet.xml:

SimpleRestService1.png


3. Содержимое контекста приложения 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>

4. В конфигурации сборки проекта 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>

5. В папку java добавляем пакет org.asistech.web.srs.api, и создаем в нем тестовый класс REST-сервиса TestRS.java:

SimpleRestService2.png


6. Содержимое класса 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!";
    }
}

7. Добавляем в контекст приложения 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>



Spring Framework

Personal tools
Namespaces

Variants
Actions
Navigation
Tools