컨트롤러(Controller)는 스프링 프레임워크(Spring Framework)에서 사용자 요청을 처리하고 적절한 응답을 반환하는 역할을 담당합니다. 스프링에서는 다양한 방법으로 컨트롤러를 작성할 수 있으며, 이번 글에서는 스프링에서 컨트롤러를 작성하는 방법에 대해 알아보겠습니다.
- @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";
}
}
'Spring > Spring boot' 카테고리의 다른 글
[SpringBoot] 스프링부트 Repository (0) | 2023.03.09 |
---|---|
[SpringBoot] 스프링부트 Service (0) | 2023.03.09 |
[SpringBoot] 스프링부트 Spring Boot란? (0) | 2023.03.09 |
[SpringBoot] 스프링부트 JPA(Java Persistence API) 학습하기 (0) | 2023.03.09 |
[SpringBoot] 스프링부트 JPA와 JSP의 차이 (0) | 2023.03.09 |