Spring自定义Handler关键点:
ServletInvocableHandlerMethod
112行:
try {
this.returnValueHandlers.handleReturnValue(
returnValue, getReturnValueType(returnValue),mavContainer,webRequest);
}
97行:
Object returnValue = invokeForRequest(webRequest,mavContainer,providedArgs);
setResponseStatus(webRequest);
HandlerMethodReturnValueHandlerComposite
77行:HandlerMethodReturnValueHandler handler = selectHandler(returnValue, returnType);
if (handler ==null) {
thrownew IllegalArgumentException("Unknown return value type: " +returnType.getParameterType().getName());
}
handler.handleReturnValue(returnValue,returnType,mavContainer, webRequest);
返回值需要考虑MapMethodProcess
org.springframework.web.servlet.mvc.method.annotation.
RequestMappingHandlerAdapter