[Spring Boot] @Controller와 @RestController 차이점

Song_Song·2021년 8월 22일
0
post-custom-banner

컨트롤러에 사용하는 @Controller와 @RestController의 차이에 대해 알아보겠다.

@Controller

1. Controller - View
Spring MVC의 컨트롤러로, JSP같은 view를 전달하는 용도이다.

2. Controller - Data
@ResponseBody 어노테이션을 사용하면 클라이언트에게 데이터 자체를 전달할 수 있다.
뷰를 별도로 만들지 않고 컨트롤러 메소드가 리턴한 데이터 자체를 클라이언트로 전달.
즉, 문자열이나 VO, 컬렉션 형태의 자바 객체 자체를 전달한다.
자바 객체가 전달되는 경우는 자동으로 JSON으로 변환하여 처리한다.

예제

@Controller
@RequestMapping("/event")
public class EventController {
	
	@Autowired
	EventService eventService;
	
	@GetMapping("/publisher")
        @ResponseBody
	public String Eventpublisher(String name) {
		eventService.threeSecont();
		return "/Event;
	}
}



@RestController

@Controller + @ResponseBody

예제

@RestController
@RequestMapping("/event")
public class EventController {
	
	@Autowired
	EventService eventService;
	
	@GetMapping("/publisher")
	public String Eventpublisher(String name) {
		eventService.threeSecont();
		return "Event Strat";
	}
}
profile
성장을 위한 정리 블로그
post-custom-banner

0개의 댓글