Spring Boot

Spring MVC Basics

Spring MVC, MVC 아키텍처, DispatcherServlet, @Controller, ViewResolver, Model-View-Controller 패턴

20 면접 질문·
Mid-Level
1

Java 클래스를 Spring MVC 컨트롤러로 변환하는 어노테이션은 무엇입니까?

답변

@Controller는 클래스를 HTTP 요청을 처리하는 Spring MVC 컨트롤러로 표시합니다. 이는 @Component의 특수화이며 component scanning이 컨트롤러를 자동으로 감지할 수 있게 합니다. @RestController는 REST API를 위해 @Controller와 @ResponseBody를 결합하는 반면, @RequestMapping은 URL 매핑을 정의하지만 그 자체로 컨트롤러를 선언하지는 않습니다.

2

@Controller와 @RestController의 주요 차이점은 무엇입니까?

답변

@RestController는 @Controller와 @ResponseBody를 결합하여 모든 메서드가 뷰 이름 대신 직렬화된 데이터(JSON/XML)를 자동으로 반환함을 의미합니다. @Controller에서는 데이터를 반환하려면 각 메서드에 @ResponseBody를 추가해야 합니다. @RestController는 REST API용으로 설계되었으며, @Controller는 뷰 렌더링이 있는 전통적인 웹 애플리케이션에 사용됩니다.

3

컨트롤러 메서드를 /users URL의 HTTP POST 요청에 매핑하려면 어떻게 합니까?

답변

@PostMapping은 특정 URL의 POST 요청에 메서드를 매핑하기 위한 특수 어노테이션입니다. 이는 @RequestMapping(method = RequestMethod.POST)의 단축형입니다. 다른 특수 어노테이션으로는 @GetMapping, @PutMapping, @DeleteMapping, @PatchMapping이 있습니다. 이 방식은 method 속성을 사용하는 @RequestMapping보다 가독성이 높고 간결합니다.

4

/users/{id}와 같은 URL에서 경로 변수를 가져오려면 어떻게 합니까?

5

HTTP 요청 본문의 JSON을 자동으로 역직렬화하려면 어떤 어노테이션을 사용합니까?

+17 면접 질문

다음 면접을 위해 Spring Boot을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기