# EndpointConstructorOptions Interface

Module
import { EndpointConstructorOptions } from "@tsed/common"
Source/packages/common/src/mvc/models/EndpointMetadata.ts

# Overview

interface EndpointConstructorOptions extends EntityOptions {
    beforeMiddlewares?: Function[];
    middlewares?: Function[];
    afterMiddlewares?: Function[];
    pathsMethods?: IPathMethod[];
    type?: any;
    responses?: Map<number, IResponseOptions>;
    statusCode?: number;
}
/**
 * EndpointMetadata contains metadata about a controller and his method.
 * Each annotation (@Get, @Body...) attached to a method are stored in a endpoint.
 * EndpointMetadata convert this metadata to an array which contain arguments to call an Express method.
 *
 * Example :
 *
 *    @Controller("/my-path")
 *    provide MyClass {
 *
 *        @Get("/")
 *        @Authenticated()
 *        public myMethod(){}
 *    }
 *
 */