본문 바로가기
Spring/Spring boot

[SpringBoot] 스프링부트 Controller

by s_hoonee 2023. 3. 9.
반응형

컨트롤러(Controller)는 스프링 프레임워크(Spring Framework)에서 사용자 요청을 처리하고 적절한 응답을 반환하는 역할을 담당합니다. 스프링에서는 다양한 방법으로 컨트롤러를 작성할 수 있으며, 이번 글에서는 스프링에서 컨트롤러를 작성하는 방법에 대해 알아보겠습니다.

  1. @Controller 어노테이션을 사용한 컨트롤러 작성 @Controller 어노테이션을 사용하여 컨트롤러를 작성할 수 있습니다. 이 어노테이션을 사용하면 스프링이 해당 클래스를 컨트롤러로 인식하고, 요청에 대한 처리를 담당합니다.
public class SampleController {
    // 컨트롤러 메서드
    @GetMapping("/sample")
    public String sample() {
        return "sample";
    }
}

위 예제에서는 @Controller 어노테이션을 사용하여 SampleController 클래스를 컨트롤러로 지정하고 있습니다. sample() 메서드는 @GetMapping 어노테이션을 사용하여 GET 요청을 처리하는 메서드입니다. 메서드의 반환 값인 "sample"은 뷰(View) 이름으로 사용됩니다.

2. @RestController 어노테이션을 사용한 RESTful API 컨트롤러 작성 @RestController 어노테이션은 @Controller 어노테이션과 달리 JSON, XML 등의 데이터를 반환하는 RESTful API 컨트롤러를 작성할 때 사용됩니다.

@RestController
public class SampleRestController {
    // RESTful API 메서드
    @GetMapping("/api/sample")
    public SampleDto sample() {
        SampleDto dto = new SampleDto();
        dto.setName("John Doe");
        dto.setAge(30);
        return dto;
    }
}

위 예제에서는 @RestController 어노테이션을 사용하여 SampleRestController 클래스를 RESTful API 컨트롤러로 지정하고 있습니다. sample() 메서드는 @GetMapping 어노테이션을 사용하여 GET 요청을 처리하는 메서드입니다. 메서드의 반환 값인 SampleDto 클래스는 JSON 형태로 반환됩니다.

3. @RequestMapping 어노테이션을 사용한 컨트롤러 작성 @RequestMapping 어노테이션은 HTTP 요청을 처리하는 메서드와 URL을 매핑하는 역할을 합니다. @RequestMapping 어노테이션을 클래스와 메서드에 모두 적용할 수 있습니다.

@Controller
@RequestMapping("/sample")
public class SampleController {
    // 컨트롤러 메서드
    @RequestMapping(value = "/get", method = RequestMethod.GET)
    public String get() {
        return "sample";
    }
}