@Controller 와 @RestController 의 차이를 알아 볼 것@RestController = @ResponseBody + @Controller
@ResponseBody annotation이 필요할까?
@Controller annotation은 REST API를 진입점으로만 쓰겠다는 의미.
@Component 와 거의 동일한 타입
@Component 는 bean등록할 때 가장 기본적인 단위@Component 는 그냥 쓰지 않고 특수한 타입으로 쓰고 그중 하나가@Controller 임.@ResponseBody
예전에는 JSP 파일에 데이터들을 담아놓고 그것을 html에 내려주는게 주 사용법이었음.
하지만 지금은 이를 순수한 api로 만들기 때문에 json 요청을 하고 json 응답을 받음. 이 annotation을 쓰면 json으로 응답을 내려주는 것을 상정하고 응답하게 됨.
→ 뭐 더 자세히 설명하면 요청한 쪽의 accept content type에 따라 바뀌지만 기본은 json이므로 json으로 준다고 생각해도 되는듯.
@RequestMapping
@RequestMapping(value = "/hello", method = RequestMethod.GET)@GetMapping@PostMapping@PutMapping@DeleteMapping@PatchMapping