분류 전체보기(319)
-
Method Arguments
다음 표는 지원되는 컨트롤러 메서드 아규먼트를 설명합니다.JDK 8의 java.util.Optional은 필수 속성이 있는 어노테이션(@RequestParam, @RequestHeader 등)과 결합하여 메서드 아규먼트로 지원되며, 이는 required=false와 동일합니다.Controller Method Argument설명WebRequest, NativeWebRequestServlet API를 직접 사용하지 않고 요청 파라미터 및 요청 및 세션 속성에 대한 일반적인 접근.jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse특정 요청 또는 응답 유형을 선택 — 예: ServletRequest, HttpServletRequest 또는 Sprin..
2024.10.09 -
Handler Method
@RequestMapping 핸들러 메서드는 유연한 시그니처를 가지고 있으며 지원되는 다양한 컨트롤러 메서드 아규먼트와 리턴 값 중에서 선택할 수 있습니다.Section SummaryMethod ArgumentsReturn ValuesType ConversionMatrix Variables@RequestParam@RequestHeader@CookieValue@ModelAttribute@SessionAttributes@SessionAttribute@RequestAttributeRedirect AttributesFlash AttributesMultipart@RequestBodyHttpEntity@ResponseBodyResponseEntityJackson JSON : https://docs.spring.io..
2024.10.09 -
Mapping Requests
이 섹션에서는 어노테이션이 달린 컨트롤러에 대한 request mapping에 대해 설명합니다.@RequestMapping1. @RequestMapping@RequestMapping 애너테이션은 클라이언트 요청을 특정 컨트롤러 메서드에 매핑하는 역할을 합니다. 서버로 들어오는 요청의 경로, HTTP 메서드(GET, POST 등), 요청 파라미터, 헤더, 그리고 미디어 타입 등을 기준으로 요청을 특정 컨트롤러의 메서드와 연결합니다.어노테이션 주요 속성value 또는 path: 요청을 매핑할 URL 경로를 지정합니다.method: 요청을 처리할 HTTP 메서드(예: GET, POST 등)를 지정합니다.params: 특정 요청 파라미터에 따라 요청을 매핑할 수 있습니다.headers: 특정 요청 헤더를 기준으..
2024.10.09 -
Declaration
Spring MVC에서 컨트롤러 빈(Controller Bean)을 정의하려면 Servlet의 WebApplicationContext에서 표준 Spring 빈 정의를 사용할 수 있습니다. @Controller 애노테이션은 컨트롤러 클래스에 사용되며, 이 클래스가 웹 컴포넌트임을 나타내는 역할을 합니다. 또한, Spring의 일반적인 @Component 클래스를 클래스 경로에서 자동으로 감지하고, 이를 빈 정의로 자동 등록하는 방식과 동일하게 @Controller 애노테이션도 자동 감지가 가능합니다.자동 감지 설정@Controller 빈을 자동으로 감지하고 등록하려면, Java 설정에 컴포넌트 스캔을 추가할 수 있습니다. 아래 예시는 @ComponentScan을 사용하여 @Controller 애노테이션이 ..
2024.10.09 -
@RequestParam
@RequestParam 애노테이션은 서블릿 요청 파라미터(쿼리 파라미터 또는 폼 데이터)를 컨트롤러 메서드의 아규먼트와 바인딩하는 데 사용됩니다. 이를 통해 클라이언트가 요청한 URL이나 폼 데이터에 포함된 값을 쉽게 메서드로 전달할 수 있습니다.@RequestParam 기본 사용법@RequestParam을 사용하여 요청 파라미터를 메서드 아규먼트에 바인딩하는 기본적인 예시는 다음과 같습니다.컨트롤러 예시@Controller@RequestMapping("/pets")public class EditPetForm { @GetMapping public String setupForm(@RequestParam("petId") int petId, Model model) { Pet pet ..
2024.10.09 -
Controller Advice
@ControllerAdvice는 스프링에서 여러 컨트롤러에 전역적으로 적용할 수 있는 기능을 제공합니다. @ExceptionHandler, @InitBinder, @ModelAttribute 메서드를 특정 컨트롤러가 아닌 모든 컨트롤러에 적용할 수 있도록 합니다. @RestControllerAdvice는 @ControllerAdvice와 비슷하지만 JSON이나 XML 형식으로 응답을 처리합니다.주요 특징:전역 적용: 모든 컨트롤러에 예외 처리 및 데이터 바인딩을 적용합니다.타겟 설정: 특정 패키지나 클래스, 어노테이션을 사용하여 적용 범위를 제한할 수 있습니다.예시:import org.springframework.web.bind.annotation.ControllerAdvice;import org.sp..
2024.10.09