티스토리 뷰

TIL

[Spring Boot] Controller & RestController

호호홍얍얍 2022. 5. 20. 15:18

Controller란?

- Model 객체를 만들어 데이터를 담고, View를 찾아서 반환하는 역할을 한다.

- 스프링에서 어노테이션(@)을 붙여서 사용한다.

- RESTful 웹서비스가 많아지자 스프링 4.0부터 @RestController 라는 것이 추가되었다.

@Controller @RestController
http에 응답을 하려면 @ResponseBody를 함께 붙여줬어야 했다.
뷰를 반환하려면 이것을 쓰면 된다.
@ResponseBody 없이, JSON/XML형식으로 http 응답 바디에 담아 전송한다.
뷰 대신 객체를 반환한다.

- Controller의 흐름을 간단히 알아보면,

1. Clien가 URI 형식으로 웹서비스에 요청을 보낸다.

2. DispatcherServlet이 요청을 위임할 Handler Mapping을 찾는다.

3. HandlerAdapter를 통해 요청을 Controller로 위임한다.

4. Service에 가서 View name을 받아온다.

5. DispatcherServlet이 View Resolver를 통해 View name에 해당하는 View를 반환한다.

https://mangkyu.tistory.com/49

 

↘︎ 어노테이션이란?

    - 주석의 역할도 하지만, 자바 소스 코드에 삽입하면 사전 정의되어 있는 특별한 기능을 수행한다(프로그램에 대한 정보 제공)

↘︎ Bean이란?

    -스프링 IOC 컨테이너가 관리하는 객체를 빈(Bean)이라고 한다. 

↘︎ IOC란?

     - 제어의 역전. 본래 프로그램의 객체들이 스스로 흐름을 제어했는데, 이를 관리 주체에게 위임하게 된 것.

↘︎ Servlet이란?

    - 클라이언트가 어떤 요청을 하면 그에 대한 결과를 다시 전송하는 자바의 프로그램이다.

    - 최초에 한 번 초기화되며, 만들어진 하나의 인스턴스로 모든 사용자의 요청을 쓰레드를 만들어 처리한다.

    - WAS 내 서블릿 컨테이너 안에서 연산을 담당한다. 패키지로는 javax.servlet.http 안에 있다.

↘︎ RESTful API란?

    - https://www.redhat.com/ko/topics/api/what-is-a-rest-api

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/05   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함