# Class JsonMethodStore

Class
Module
import { JsonMethodStore } from "@tsed/schema"
Source/packages/specs/schema/src/types/domain/JsonMethodStore.ts

# Overview

class JsonMethodStore extends JsonEntityStore {
    readonly parent: JsonClassStore;
    middlewares: any[];
    beforeMiddlewares: any[];
    afterMiddlewares: any[];
<span class="token keyword">readonly</span> operation<span class="token punctuation">:</span> <a href="/api/specs/schema/types/domain/JsonOperation.html"><span class="token">JsonOperation</span></a><span class="token punctuation">;</span>

<span class="token keyword">readonly</span> children<span class="token punctuation">:</span> Map&lt;<span class="token keyword">string</span> | <span class="token keyword">number</span><span class="token punctuation">,</span> <a href="/api/specs/schema/types/domain/JsonParameterStore.html"><span class="token">JsonParameterStore</span></a>&gt;<span class="token punctuation">;</span>
<span class="token keyword">constructor</span><span class="token punctuation">(</span>options<span class="token punctuation">:</span> <a href="/api/specs/schema/types/domain/JsonEntityStoreOptions.html"><span class="token">JsonEntityStoreOptions</span></a><span class="token punctuation">)</span><span class="token punctuation">;</span>
get <span class="token function">params</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <a href="/api/specs/schema/types/domain/JsonParameterStore.html"><span class="token">JsonParameterStore</span></a><span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
get <span class="token function">view</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <a href="/api/specs/schema/types/domain/JsonViewOptions.html"><span class="token">JsonViewOptions</span></a><span class="token punctuation">;</span>
set <span class="token function">view</span><span class="token punctuation">(</span>view<span class="token punctuation">:</span> <a href="/api/specs/schema/types/domain/JsonViewOptions.html"><span class="token">JsonViewOptions</span></a><span class="token punctuation">)</span><span class="token punctuation">;</span>
get <span class="token function">acceptMimes</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">string</span><span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
set <span class="token function">acceptMimes</span><span class="token punctuation">(</span>mimes<span class="token punctuation">:</span> <span class="token keyword">string</span><span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
get <span class="token function">parameters</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <a href="/api/specs/schema/types/domain/JsonParameterStore.html"><span class="token">JsonParameterStore</span></a><span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
get <span class="token function">operationPaths</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> Map&lt;<span class="token keyword">string</span><span class="token punctuation">,</span> <span class="token keyword">import</span><span class="token punctuation">(</span>"./<a href="/api/specs/schema/types/domain/JsonOperation.html"><span class="token">JsonOperation</span></a>"<span class="token punctuation">)</span>.<a href="/api/specs/schema/types/domain/JsonMethodPath.html"><span class="token">JsonMethodPath</span></a>&gt;<span class="token punctuation">;</span>

<span class="token keyword">static</span> <span class="token function">get</span><span class="token punctuation">(</span>target<span class="token punctuation">:</span> <a href="/api/core/types/domain/Type.html"><span class="token">Type</span></a>&lt;<span class="token keyword">any</span>&gt;<span class="token punctuation">,</span> propertyKey<span class="token punctuation">:</span> <span class="token keyword">string</span> | symbol<span class="token punctuation">,</span> descriptor?<span class="token punctuation">:</span> PropertyDescriptor<span class="token punctuation">)</span><span class="token punctuation">:</span> JsonMethodStore<span class="token punctuation">;</span>
<span class="token function">getResponseOptions</span><span class="token punctuation">(</span>status<span class="token punctuation">:</span> <span class="token keyword">number</span><span class="token punctuation">,</span> <span class="token punctuation">{</span> contentType<span class="token punctuation">,</span> includes <span class="token punctuation">}</span>?<span class="token punctuation">:</span> <span class="token punctuation">{</span>
    contentType?<span class="token punctuation">:</span> <span class="token keyword">string</span><span class="token punctuation">;</span>
    includes?<span class="token punctuation">:</span> <span class="token keyword">string</span><span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">:</span> undefined | <span class="token keyword">any</span><span class="token punctuation">;</span>

<span class="token function">before</span><span class="token punctuation">(</span>args<span class="token punctuation">:</span> Function<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">:</span> this<span class="token punctuation">;</span>

<span class="token function">after</span><span class="token punctuation">(</span>args<span class="token punctuation">:</span> Function<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">:</span> this<span class="token punctuation">;</span>

<span class="token function">use</span><span class="token punctuation">(</span>args<span class="token punctuation">:</span> Function<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">:</span> this<span class="token punctuation">;</span>

get&lt;T<span class="token punctuation"> = </span><span class="token keyword">any</span>&gt;<span class="token punctuation">(</span>key<span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">)</span><span class="token punctuation">:</span> T<span class="token punctuation">;</span>
<span class="token function">getParamTypes</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> Record&lt;<span class="token keyword">string</span><span class="token punctuation">,</span> <span class="token keyword">boolean</span>&gt;<span class="token punctuation">;</span>
<span class="token keyword">protected</span> <span class="token function">build</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">void</span><span class="token punctuation">;</span>

}

# Members

readonly parent: JsonClassStore;

middlewares: any[];

beforeMiddlewares: any[];

afterMiddlewares: any[];

readonly operation: JsonOperation;

Ref to JsonOperation when the decorated object is a method.


readonly children: Map<string | number, JsonParameterStore>;

List of children JsonEntityStore (properties or methods or params)


get params(): JsonParameterStore[];

get view(): JsonViewOptions;

set view(view: JsonViewOptions);

get acceptMimes(): string[];

set acceptMimes(mimes: string[]);

get parameters(): JsonParameterStore[];

get operationPaths(): Map<string, import("./JsonOperation").JsonMethodPath>;

static get(target: Type<any>, propertyKey: string | symbol, descriptor?: PropertyDescriptor): JsonMethodStore;

Get an endpoint.


getResponseOptions(status: number, { contentType, includes }?: {
     contentType?: string;
     includes?: string[];
 }): undefined | any;

before(args: Function[]): this;

Append middlewares to the beforeMiddlewares list.


after(args: Function[]): this;

Append middlewares to the afterMiddlewares list.


use(args: Function[]): this;

Store all arguments collected via Annotation.


get<T = any>(key: any): T;

Find the value at the controller level. Let this value be extended or overridden by the endpoint itself.


getParamTypes(): Record<string, boolean>;

protected build(): void;