node-web-mvc
Version:
node spring mvc
21 lines (20 loc) • 1.47 kB
TypeScript
import type ServletContext from '../../http/ServletContext';
import MethodParameter from '../MethodParameter';
import HandlerMethodArgumentResolver from '../argument/HandlerMethodArgumentResolver';
import HandlerMethodReturnValueHandler from '../return/HandlerMethodReturnValueHandler';
import MessageConverter from '../../http/converts/MessageConverter';
import ContentNegotiationManager from '../../http/accept/ContentNegotiationManager';
export default abstract class AbstractMessageConverterMethodProcessor implements HandlerMethodArgumentResolver, HandlerMethodReturnValueHandler {
private readonly messageConverters;
private readonly contentNegotiationManager;
constructor(messageConverters: MessageConverter, contentNegotiationManager: ContentNegotiationManager);
abstract supportsReturnType(returnType: MethodParameter): boolean;
abstract handleReturnValue(returnValue: any, returnType: MethodParameter, servletContext: ServletContext): Promise<void>;
abstract supportsParameter(parameter: MethodParameter, servletContext: ServletContext): boolean;
abstract resolveArgument(parameter: MethodParameter, servletContext: ServletContext): any;
writeWithMessageConverters<T = any>(data: T, servletContext: ServletContext): Promise<any>;
readWithMessageConverters(servletContext: ServletContext, dataType: Function): Promise<{}>;
private getProducibleMediaTypes;
private getMostSpecifiMediaType;
private selectMediaType;
}