이번 가이드는 Spring을 사용하여 "Hello, World"를 출력하는 RESTful 웹 서비스 구축 안내서입니다!
앞으로 구축하게 될 것들
우리는 앞으로 HTTP의 GET 메소드 요청을 수행하는 서비스를 만들 것입니다!
http://localhost:8080/greeting
위와 같이 요청이 오게 되면 JSON 형식의 결과물을 응답으로 보낼 것입니다.
바로
{"id":1,"content":"Hello, World!"}
이렇게요!
그리고 요청 URL에 name 매개변수를 넣어 다음과 같이 요청할 수 있습니다.
http://localhost:8080/greeting?name=User
name 매개변수는 World 로 기본 설정 할 것입니다!
하지만 사용자가 매개변수를 통해 name을 설정한다면 재설정된 name을 출력하겠습니다.
{"id":1,"content":"Hello, User!"}
준비물
- 약 15분의 시간
- 선호하는 IDE(Eclips,VScode 등)
- JDK(최소 1.8 버전 이상!)
- Gradle 4 이상 혹은 Maven 3.2 이상
Spring Initializr로 시작하기
Spring Application의 경우 Spring Initializr로 시작하는 것이 좋습니다.
응용프로그램에 필요한 모든 의존성을 가져오는 방법이 있고, 많은 설정 시간을 절약할 수 있습니다.
이 예제는 Spring web 의존성만 필요합니다. 이제 https://start.spring.io/ 으로 접속하여 아래와 같이 설정한 후 프로젝트를 생성하세요.
이렇게 프로젝트를 생성하면 다운로드된 폴더에
.zip 확장자명의 압축 파일이 다운로드 되게 됩니다.
다운로드된 압축파일을 풀어줘야하는데, 이때 알집을 이용하게되면 압축된 파일 중 이름이 긴 파일이 제대로 압축 해제가 되지 않음으로, 반디집을 이용해서 압출을 풀어줍니다!
그냥 다운로드된 폴더에 압축을 풀 수 있지만, 사용하는 workspace를 따로 만들어 프로젝트를 관리하시는 것을 추천드립니다!
이제 여러분이 자주 사용하는 IDE를 이용해서 프로젝트를 실행해 주시면 됩니다.
필자는 vscode를 사용하기 때문에 vscode를 통해서 실행해 보겠습니다.
vscode가 정상적으로 실행 되고 난 후, pom.xml을 실행하고 난 뒤 위와 같은 설정값이 보이면 성공입니다.
보다 정확한 값은
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>rest-service</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>rest-service</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
위 코드와 비교해 보시면 되겠습니다.
이번에는 Spring Initializr를 통해 프로젝트를 생성하고 다운로드 및 설정된 의존성을 보는 방법을 살펴 봤습니다.
다음 장에서는 실제 class를 통해 서비스를 구축하는 과정을 보여드리겠습니다.
'IT > Back-end' 카테고리의 다른 글
서버 기동시 port 중복 해결방법! (2) | 2020.03.18 |
---|---|
REST 방식으로 JPA Data에 접근하기 (0) | 2020.03.10 |
[Spring] 데이터에 접근하기 (feat. JPA) -(1) (0) | 2020.03.10 |
RESTful 웹 서비스 사용하기 -(2) (0) | 2020.03.04 |
RESTful Web Service 구축하기! (feat. spring)-(2) (0) | 2020.03.03 |