티스토리 뷰

@RestController 도입 이전: 

model 을 사용해서 entity 를 model 에 addAttribute 해주었다. 그래서 View(화면)에 띄울 수 있었다.
이는 @Controller 는 MVC Controller를 사용하겠다는 의미이기 때문이다. 주로 결과값을 View 로 전달하는 방식이며, 함수의 리턴 값을 문자열 형태의 View 의 이름으로 지정해 반환하게 된다.
컨트롤러에서 View 를 거치지 않기 위해서는 바로 데이터를 @ResponseBody 에 넣어서 응답할 수 있었다.

 

@RestController 도입 이후:

JSON 형태 데이터를 앞단으로 보낼 수 있다. 엔티티 내에서 간단히 static 메서드 of 를 구현해서 entity 를 response body 화 해줄 수 있다. @RestController가 붙어있을 땐 바로 ResponseEntity 형태로 앞단으로 보낼 수 있다.

 

컨트롤러 테스트를 만들기 까다로운 이유

1. DB 를 의지한다

2. 무려 세 개가 합쳐진 복잡한 요소이다:

  • Request 받는 부분
  • 특정 Service 를 이용하기 위해 호출하는 부분
  • View 또는 JSON 데이터로 Return 하는 부분

스프링 부트 핵심 가이드 pg. 173 - 7.4.6 컨트롤러 객체의 테스트

리포지토리와 컨트롤러를 바로 연결하는 것은 좋은 방법이 아니다 왜? 레이어드 아키텍처에 기반한 방법이 아니다.
그래서 레이어드 아키텍처에 따르는 모양으로 분리할 것이다.
레이어드 아키텍처가 유지보수, 확장성에 그나마 유리한 아키텍처이다.
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
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
글 보관함