SeouliteLab

[Java/자바] Spring @RestController: RESTful 웹 서비스를 위한 컨트롤러 > 본문

프로그래밍

[Java/자바] Spring @RestController: RESTful 웹 서비스를 위한 컨트롤러 >

Seoulite Lab 2024. 3. 12. 11:11

Spring 프레임워크에서 @RestController 어노테이션은 RESTful 웹 서비스를 개발할 때 사용됩니다. 이 어노테이션을 사용하면 각 핸들러 메서드의 반환 값이 HTTP 응답 본문으로 직접 전송됩니다. 이 글에서는 @RestController 어노테이션의 사용법과 예제 코드를 통해 자세히 알아보겠습니다.

1. 기본적인 @RestController 사용법

가장 간단한 형태의 @RestController 어노테이션은 다음과 같이 컨트롤러 클래스에 적용됩니다.

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class MyRestController {

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

위의 예제에서는 /hello 경로로의 GET 요청에 대한 핸들러 메서드를 정의하고, "Hello, Spring REST!" 문자열을 반환합니다.

2. HTTP 메서드와 매핑

@RestController 어노테이션은 다양한 HTTP 메서드와 함께 사용될 수 있습니다.

예제 1: POST 요청 처리

import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class MyRestController {

    @PostMapping("/user")
    public String createUser(@RequestBody User user) {
        // 사용자 생성 로직
        return "User created: " + user.getName();
    }
}

위의 예제에서는 /user 경로로의 POST 요청에 대한 핸들러 메서드를 정의하고, 요청 본문으로부터 사용자 정보를 받아와서 사용자를 생성합니다.

3. 예제 코드

다음은 @RestController 어노테이션을 사용한 예제 코드입니다.

예제 1: 기본적인 @RestController 사용법

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class MyRestController {

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

예제 2: POST 요청 처리

import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class MyRestController {

    @PostMapping("/user")
    public String createUser(@RequestBody User user) {
        // 사용자 생성 로직
        return "User created: " + user.getName();
    }
}

4. 결론

이상으로 Spring의 @RestController 어노테이션에 대한 자세한 설명과 예제 코드를 살펴보았습니다. @RestController 어노테이션을 사용하여 RESTful 웹 서비스를 개발할 때 간편하게 컨트롤러를 정의할 수 있습니다.