[java] Maven을 사용하여 RESTful API 개발하기

목차

소개

이 문서에서는 Maven을 사용하여 RESTful API를 개발하는 방법에 대해 알아보겠습니다. Maven은 Java 프로젝트를 빌드하고 관리하기 위한 도구로 많이 사용됩니다. RESTful API는 클라이언트와 서버 간의 통신을 위한 규칙을 따르는 웹 서비스입니다. 이 예제에서는 Spring Boot 프레임워크를 사용하여 RESTful API를 개발할 것입니다.

Maven 설치

먼저 Maven을 설치해야 합니다. 아래의 명령어를 사용하여 Maven을 설치할 수 있습니다.

$ sudo apt install maven

설치가 완료되면 mvn -version 명령어를 사용하여 설치된 Maven 버전을 확인할 수 있습니다.

프로젝트 생성

Maven을 사용하여 프로젝트를 생성하기 위해서는 아래의 명령어를 사용합니다.

$ mvn archetype:generate -DgroupId=com.example -DartifactId=rest-api-example -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

위 명령어에서 groupId는 프로젝트의 그룹 아이디를, artifactId는 프로젝트의 아티팩트 아이디를 나타냅니다. 이 예제에서는 com.example 그룹 아이디와 rest-api-example 아티팩트 아이디를 사용합니다.

프로젝트 생성 후 아래와 같은 디렉토리 구조가 생성됩니다.

rest-api-example
├── src
│   ├── main
│   │   ├── java
│   │   │   └── com
│   │   │       └── example
│   │   │           └── App.java
│   │   └── resources
│   │       └── log4j.properties
│   └── test
│       ├── java
│       │   └── com
│       │       └── example
│       │           └── AppTest.java
│       └── resources
│           └── log4j.properties
└── pom.xml

의존성 추가

이제 Maven 프로젝트에 필요한 의존성을 추가해야 합니다. pom.xml 파일을 열고 <dependencies> 섹션에 다음 코드를 추가합니다.

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <version>2.5.0</version>
</dependency>

위 코드는 Spring Boot의 웹 의존성을 추가하는 코드입니다.

API 구현

API를 구현하기 위해 App.java 파일을 열고 다음과 같은 코드를 추가합니다.

package com.example;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@SpringBootApplication
public class App {

    @GetMapping("/")
    public String hello() {
        return "Hello, World!";
    }

    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }
}

위 코드는 Spring Boot 애플리케이션을 작성하는 코드입니다. @RestController 어노테이션은 클래스가 RESTful API 컨트롤러임을 나타내고, @GetMapping("/") 어노테이션은 / 경로로 접근할 때 hello() 메소드가 실행되도록 설정합니다.

빌드 및 실행

프로젝트를 빌드하기 위해 프로젝트 루트 디렉토리로 이동한 후 아래와 같은 명령어를 실행합니다.

$ mvn package

빌드가 성공적으로 완료되면 target 폴더에 실행 가능한 JAR 파일이 생성됩니다. 아래의 명령어를 사용하여 애플리케이션을 실행합니다.

$ java -jar target/rest-api-example.jar

애플리케이션을 실행한 후 웹 브라우저에서 http://localhost:8080 주소로 접속하여 결과를 확인할 수 있습니다.

결론

이 문서에서는 Maven을 사용하여 RESTful API를 개발하는 방법에 대해 알아보았습니다. Maven을 사용하면 Java 프로젝트를 효율적으로 관리할 수 있으며, Spring Boot를 사용하여 간단하게 RESTful API를 개발할 수 있었습니다. 다양한 기능을 추가하고 확장하여 실제 프로젝트에 적용할 수 있습니다.