본문 바로가기
TIL

[SpringBoot] Annotation Controller

by yo.na 2022. 4. 7.

1. Controller 

컨트롤러는 사용자의 요청이 진입하는 지점입니다. 

따라서 사용자의 요청을 어떻게 처리할지 결정하는 클래스입니다.

넘어온 요청을 처리하기 위해 service 를 호출합니다.

 

@Controller

컨트롤러 역할을 수행한다고 명시하는 어노테이션.

주로 화면에 보여주는 View를 반환하기 위해 사용

 

@RestController

Controller + Responsebody

주로 JSON 형태로 데이터를 반환하기 위해 사용

점점 Data 를 반환해야 하는 경우가 늘어난다(RestAPI일 때, 화면의 특정 부분만 렌더링 할 때)

@Responsebody 계속 붙이는건 번거로움

 

 

@RequestMapping(value='api')

사용자가 특정 URi로 요청을 보내면 Controller에서 어떤 방식으로 처리할지 결정한다.

이 때 들어온 요청을 특정 메서드와 mapping하기 위해 사용하는 것이 RequestMapping이다.

 

@RequestBody

클라이언트에서 보낸 http요청 중 httpbody 부분에 있는 json 데이터를 자바 객체로 받기위해 사용한다.

HTTP body 의 json 데이터를 Board 객체에 매핑해준다.

 

 

 

2. Service 

요청을 호출받으면 알맞은 정보를 가공하여 Controller 에게 데이터를 넘긴다.

 

 

 

 

https://velog.io/@jybin96/Controller-Service-Repository-가-무엇일까

 

Controller, Service, Repository 가 무엇일까?

찾아본 결과 Controller가 무엇인지 알기 전에 MVC 패턴에 대하여 먼저 아는 것이 중요합니다!MVC패턴은 Model-View-Controller의 약자로서 개발을 할 때 3가지 형태로 역학을 나누어 개발하는 방법론입니

velog.io

https://mangkyu.tistory.com/49

 

[Spring] @Controller와 @RestController 차이

Spring에서 컨트롤러를 지정해주기 위한 어노테이션은 @Controller와 @RestController가 있습니다. 전통적인 Spring MVC의 컨트롤러인 @Controller와 Restuful 웹서비스의 컨트롤러인 @RestController의 주요한 차..

mangkyu.tistory.com