Spring Framework(96)
-
Handler Mapping : @RequestBody
`@RequestBody` 어노테이션은 **HTTP 요청의 본문(Request Body)**을 읽어와서 이를 **Java 객체로 역직렬화**(deserialization)하는 데 사용됩니다. 스프링에서는 **HttpMessageConverter**를 통해 요청 본문을 자동으로 처리하며, JSON이나 XML 형식의 데이터를 객체로 변환할 수 있습니다. 이 어노테이션은 주로 **RESTful API**에서 클라이언트로부터 데이터를 받아 처리할 때 사용됩니다.기본 개념@RequestBody: HTTP 요청의 본문에 있는 데이터를 지정된 객체로 변환하여 컨트롤러 메서드의 아규먼트로 전달합니다. 일반적으로 JSON 형식의 데이터를 Java 객체로 변환하는 데 사용되며, 스프링이 제공하는 HttpMessageCon..
2024.10.09 -
Handler Method : Multipart
**Multipart 요청**은 파일과 함께 다양한 형식의 데이터를 서버로 전송할 수 있는 **multipart/form-data** 형식의 요청입니다. 스프링에서는 `MultipartResolver`를 활성화한 후 이러한 요청을 처리할 수 있으며, `MultipartFile` 또는 `Part` 객체를 통해 파일을 받아 처리할 수 있습니다. 또한, JSON과 같은 다른 형식의 데이터를 함께 전송할 때는 `@RequestPart`를 사용하여 데이터를 처리할 수 있습니다.기본 개념MultipartFile: 스프링에서 파일 업로드를 처리할 때 주로 사용하는 인터페이스로, 업로드된 파일의 이름, 크기, 바이트 데이터를 처리할 수 있습니다.@RequestParam: 폼 데이터를 처리할 때 사용되며, 파일 업로드 ..
2024.10.09 -
Handler Method : Flash Attributes
플래시 속성(Flash Attributes)는 하나의 요청에서 저장된 데이터를 다른 요청에서 사용할 수 있도록 하는 방법을 제공합니다. 이는 주로 리다이렉트할 때 사용되며, Post-Redirect-Get 패턴에서 자주 활용됩니다. 플래시 속성은 리다이렉트 전에 임시로 저장되며, 리다이렉트 후 다음 요청에서 사용할 수 있도록 전달됩니다. 이후 즉시 삭제되므로 일시적인 데이터 전송에 유용합니다.플래시 속성의 주요 개념FlashMap: 플래시 속성을 저장하는 객체입니다. 플래시 속성은 세션에 임시로 저장되며, 리다이렉트 후에 해당 속성을 사용할 수 있게 됩니다.FlashMapManager: FlashMap 인스턴스를 관리하고, 플래시 속성을 저장하고 가져오며, 세션에서 이를 관리하는 역할을 합니다.플래시 속..
2024.10.09 -
Handler Method : Redirect Attributes
RedirectAttributes는 리다이렉트를 수행할 때, 리다이렉트 URL로 전달할 데이터를 명시적으로 지정할 수 있도록 도와주는 스프링의 기능입니다. 기본적으로 스프링은 리다이렉트를 수행할 때, 모델(Model)에 포함된 모든 속성을 URL 템플릿 변수로 사용하거나, 기본 타입 속성(primitive type)을 쿼리 파라미터로 자동으로 추가합니다. 하지만, 이런 방식은 때로 불필요한 데이터가 URL에 노출될 수 있기 때문에, RedirectAttributes를 사용하여 리다이렉트 시에 전달할 속성을 제어할 수 있습니다.기본 개념리다이렉트 시 모델 속성 처리: 스프링에서 리다이렉트를 사용할 때, 모델에 포함된 속성 중 기본 타입이나 컬렉션(또는 배열)은 자동으로 쿼리 파라미터로 URL에 추가됩니다...
2024.10.09 -
Handler Method : @RequestAttribute
@RequestAttribute 어노테이션은 HTTP 요청(Request)에서 미리 설정된 속성(attribute)에 접근하는 데 사용됩니다. 이 속성은 필터(Filter)나 인터셉터(HandlerInterceptor) 같은 다른 컴포넌트에서 설정된 값일 수 있으며, 컨트롤러에서 해당 값을 아규먼트로 받아 처리할 수 있습니다.HttpServletRequest기본 개념@RequestAttribute는 HTTP 요청의 속성에 접근하기 위한 어노테이션입니다.요청 속성은 일반적으로 서블릿 필터(Servlet Filter)나 핸들러 인터셉터(HandlerInterceptor)에서 설정되며, 이러한 속성을 컨트롤러에서 직접 사용할 수 있습니다.이 어노테이션을 사용하면, 요청(Request) 범위 내에서 유지되는 데..
2024.10.09 -
Handler Method : @SessionAttribute
@SessionAttribute 어노테이션은 HTTP 세션에서 미리 존재하는 세션 속성을 컨트롤러 메서드의 아규먼트로 가져오는 데 사용됩니다. 이는 세션에 저장된 특정 데이터를 컨트롤러에서 바로 사용할 수 있도록 해줍니다. @SessionAttribute는 세션에 이미 존재하는 속성에 접근할 때 유용하며, 새로운 값을 세션에 저장하거나 관리하는 것이 아닌, 세션에 저장된 값을 읽어오는 역할을 합니다.기본 개념@SessionAttribute는 주로 글로벌하게 관리되는 세션 속성에 접근하는 데 사용됩니다. 예를 들어, 세션에 이미 저장된 사용자 정보나 인증 정보를 가져올 때 유용합니다.이 어노테이션을 사용하면, 컨트롤러 메서드에서 미리 존재하는 세션 속성을 직접 아규먼트로 받을 수 있습니다.만약 세션에 해당..
2024.10.09