2023.09.03 - [웹/Spring] - argument resolver란?
returnvalue handler란?
HandlerMethodReturnValueHandler 인터페이스는 Spring MVC에서 컨트롤러 메서드가 반환하는 값을 어떻게 처리할지 정의합니다. 이 인터페이스는 컨트롤러에서 반환된 객체를 HTTP 응답으로 변환하는 역할을 합니다.
1.supportsReturnType(MethodParameter returnType): 이 메서드는 특정 반환 유형을 처리할 수 있는지 여부를 나타냅니다. 예를 들어, 일부 ReturnValueHandler는 @ResponseBody 애노테이션이 붙은 메서드를 처리하도록 설계되어 있습니다.
2.handleReturnValue(Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeWebRequest webRequest): 이 메서드는 실제 반환 값을 처리합니다.
ex)
@RestController
public class MyController {
@GetMapping("/hello")
public String sayHello() {
return "Hello, World!";
}
}
위 예시에서 "Hello, World!" 문자열은 HandlerMethodReturnValueHandler에 의해 HTTP 응답 본문으로 변환됩니다.
커스텀 ReturnValueHandler
특별한 유형의 반환 값을 처리하려면, HandlerMethodReturnValueHandler 인터페이스를 구현하여 커스텀 ReturnValueHandler를 만들 수 있습니다. 그런 다음, 이를 Spring MVC에 등록합니다.
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addReturnValueHandlers(List<HandlerMethodReturnValueHandler> handlers) {
handlers.add(new MyCustomReturnValueHandler());
}
}
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1
'웹 > Spring' 카테고리의 다른 글
url 맵핑에 관하여 (0) | 2023.09.17 |
---|---|
http 메시지 컨버트 위치? (0) | 2023.09.03 |
argument resolver란? (0) | 2023.09.03 |
HTTP 메시지 컨버터란? (0) | 2023.09.03 |
view Resolver란? (0) | 2023.09.03 |