전체 글(319)
-
Handler Method : @ResponseBody
@ResponseBody 어노테이션은 컨트롤러 메서드의 반환값을 HTTP 응답 본문으로 직접 변환하여 클라이언트로 전달하는 역할을 합니다. HttpMessageConverter를 통해 반환 객체는 JSON, XML 등의 형식으로 자동으로 변환됩니다. 주로 RESTful API에서 데이터를 반환할 때 사용됩니다.기본 개념@ResponseBody: 메서드의 반환값을 응답 본문으로 직렬화하여 클라이언트에게 전송합니다. 반환된 객체는 스프링의 HttpMessageConverter를 통해 JSON이나 XML 등의 형식으로 변환되어 클라이언트로 전달됩니다.@RestController: @Controller와 @ResponseBody가 결합된 메타 어노테이션으로, 클래스에 선언되면 해당 클래스의 모든 메서드에서 @R..
2024.10.09 -
Handler Method : HttpEntity
HttpEntity는 스프링에서 HTTP 요청 또는 응답을 표현하는 객체로, 요청의 본문(Request Body)과 헤더(Request Headers)를 함께 처리할 수 있도록 도와줍니다. @RequestBody와 유사하지만, HttpEntity는 헤더와 본문을 모두 다룰 수 있는 기능을 제공합니다.기본 개념HttpEntity: 요청의 본문과 헤더를 포함하는 컨테이너 객체로, 주로 HTTP 요청의 헤더와 본문을 함께 처리할 때 사용됩니다. 응답에서도 사용할 수 있으며, ResponseEntity를 통해 응답 본문과 상태 코드를 함께 반환할 수 있습니다.@RequestBody와의 차이: @RequestBody는 요청 본문만 처리하는 반면, HttpEntity는 본문과 함께 요청 헤더를 다룰 수 있는 확장된..
2024.10.09 -
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