2023.09.03 - [웹/Spring] - argument resolver란?

argument resolver란?

Argument Resolver는 클라이언트의 HTTP 요청을 컨트롤러 메서드의 매개변수로 매핑해주는 역할을 합니다. ex) 예를 들어, @RequestParam, @PathVariable, @RequestBody 등의 애노테이션을 사용하면 이들은 내부적

kwaksh2319.tistory.com

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

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의

웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., 원

www.inflearn.com

 

' > 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

+ Recent posts