Spring Framework(138)
-
Functional Endpoints Overview
Spring Web MVC: Functional EndpointsSpring Web MVC에서는 기존의 @RequestMapping 기반 애너테이션 스타일을 대체할 수 있는 또 다른 방식으로 WebMvc.fn이라는 함수형 프로그래밍 모델을 제공합니다. 이 모델은 함수형 스타일을 사용하여 HTTP 요청을 라우팅하고 처리합니다. WebMvc.fn은 Spring WebFlux의 WebFlux.fn과 매우 유사한 구조를 가지고 있지만, 반응형(Reactive) 모델이 아닌 일반적인 서블릿 기반의 Web MVC와 함께 동작합니다.핵심 개념HandlerFunction:HandlerFunction은 @RequestMapping 메서드 본체에 해당하는 개념입니다. 즉, HTTP 요청을 처리하는 함수입니다. 이 함수는 ..
2024.10.13 -
Annotated Controllers
Spring MVC는 @Controller와 @RestController 컴포넌트가 요청 매핑, 요청 입력, 예외 처리 등을 애노테이션을 통해 표현할 수 있는 애노테이션 기반 프로그래밍 모델을 제공합니다. 애노테이션 컨트롤러는 유연한 메서드 시그니처를 가지며, 기본 클래스를 확장하거나 특정 인터페이스를 구현할 필요가 없습니다. 다음은 애노테이션으로 정의된 컨트롤러의 예입니다:@Controllerpublic class HelloController { @GetMapping("/hello") public String handle(Model model) { model.addAttribute("message", "Hello World!"); return "index"; }..
2024.10.09 -
Type Conversion
Spring MVC에서는 요청에서 전달된 문자열 기반 입력(@RequestParam, @RequestHeader, @PathVariable 등)을 처리할 때 다양한 유형으로 변환할 수 있는 기능을 제공합니다. 이를 통해 클라이언트에서 전달된 데이터를 적절한 자바 타입으로 변환하여 사용할 수 있습니다.타입 변환은 요청 파라미터를 해당 메서드의 아규먼트 타입으로 변환하는 과정입니다. 이 과정은 Spring에서 자동으로 수행되며, 기본적으로 지원되는 타입은 다음과 같습니다.기본 타입: int, long, double 등날짜/시간 타입: Date, LocalDate, LocalDateTime 등UUID: UUID타입 변환 동작기본 설정:Spring은 기본적으로 제공되는 변환기(converter)를 사용하여 문자..
2024.10.09 -
Return Values
Spring의 컨트롤러 메서드 리턴 값은 클라이언트에 대한 응답을 구성하는 데 매우 중요한 역할을 합니다. 아래에서는 지원되는 리턴 값 유형을 자세히 설명하고, 각 유형에 대한 샘플 코드를 제공하겠습니다.1. @ResponseBody메서드의 리턴 값이 HttpMessageConverter를 통해 변환되어 응답 본문에 작성됩니다. 이는 RESTful 웹 서비스에서 JSON 또는 XML 형식으로 데이터를 리턴할 때 자주 사용됩니다.import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class ResponseB..
2024.10.09 -
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