node-web-mvc
Version:
node spring mvc
32 lines (31 loc) • 1.29 kB
TypeScript
/**
* @module ArgumentsResolvers
* @description 参数解析器
*/
import ServletContext from '../../http/ServletContext';
import MethodParameter from '../MethodParameter';
import HandlerMethodArgumentResolver from './HandlerMethodArgumentResolver';
import HandlerMethod from '../HandlerMethod';
import MessageConverter from '../../http/converts/MessageConverter';
import ContentNegotiationManager from '../../http/accept/ContentNegotiationManager';
export default class ArgumentsResolvers {
private readonly registerResolvers;
private readonly fallbackResolvers;
private readonly messageConverter;
constructor(messageConverter: MessageConverter, contentNegotialManager: ContentNegotiationManager);
/**
* 注册一个参数解析器
* @param resolver 解析器
*/
addArgumentResolvers(resolver: HandlerMethodArgumentResolver): void;
/**
* 获取要执行函数的参数值信息
*/
resolveArguments(servletContext: ServletContext, handler: HandlerMethod): Promise<any[]>;
/**
* 解析当前参数值
* @param { MethodParameter } parameter 当前参数
* @param { ServletContext } servletContext 当前请求上下文
*/
resolveArgument(parameter: MethodParameter, servletContext: ServletContext): any;
}