Skip to main content

Class: OpenApiSpec

Defined in: service-core/src/OpenApiSpec.ts:20

OpenApiSpec is a container for an OpenAPI specification.

This class wraps the behavior of openapi-ts to make it easier to build an OpenAPI specification dynamically at runtime using the server RapidREST information.

Constructors

Constructor

new OpenApiSpec(spec?): OpenApiSpec

Defined in: service-core/src/OpenApiSpec.ts:26

Parameters

spec?

OpenAPIObject

Returns

OpenApiSpec

Accessors

builder

Get Signature

get builder(): OpenApiBuilder

Defined in: service-core/src/OpenApiSpec.ts:30

Returns

OpenApiBuilder

Set Signature

set builder(value): void

Defined in: service-core/src/OpenApiSpec.ts:34

Parameters
value

OpenApiBuilder

Returns

void


components

Get Signature

get components(): ComponentsObject | undefined

Defined in: service-core/src/OpenApiSpec.ts:54

Returns

ComponentsObject | undefined


externalDocs

Get Signature

get externalDocs(): ExternalDocumentationObject | undefined

Defined in: service-core/src/OpenApiSpec.ts:66

Returns

ExternalDocumentationObject | undefined


info

Get Signature

get info(): InfoObject

Defined in: service-core/src/OpenApiSpec.ts:42

Returns

InfoObject


openapi

Get Signature

get openapi(): string

Defined in: service-core/src/OpenApiSpec.ts:38

Returns

string


paths

Get Signature

get paths(): PathsObject | undefined

Defined in: service-core/src/OpenApiSpec.ts:50

Returns

PathsObject | undefined


security

Get Signature

get security(): SecurityRequirementObject[] | undefined

Defined in: service-core/src/OpenApiSpec.ts:58

Returns

SecurityRequirementObject[] | undefined


servers

Get Signature

get servers(): ServerObject[] | undefined

Defined in: service-core/src/OpenApiSpec.ts:46

Returns

ServerObject[] | undefined


tags

Get Signature

get tags(): TagObject[] | undefined

Defined in: service-core/src/OpenApiSpec.ts:62

Returns

TagObject[] | undefined


webhooks

Get Signature

get webhooks(): PathsObject | undefined

Defined in: service-core/src/OpenApiSpec.ts:70

Returns

PathsObject | undefined

Methods

addCallback()

addCallback(name, callback): OpenApiSpec

Defined in: service-core/src/OpenApiSpec.ts:265

Parameters

name

string

callback

ReferenceObject | CallbackObject

Returns

OpenApiSpec


addContact()

addContact(contact): OpenApiSpec

Defined in: service-core/src/OpenApiSpec.ts:190

Parameters

contact

ContactObject

Returns

OpenApiSpec


addDescription()

addDescription(description): OpenApiSpec

Defined in: service-core/src/OpenApiSpec.ts:205

Parameters

description

string

Returns

OpenApiSpec


addExample()

addExample(name, example): OpenApiSpec

Defined in: service-core/src/OpenApiSpec.ts:240

Parameters

name

string

example

ReferenceObject | ExampleObject

Returns

OpenApiSpec


addExternalDocs()

addExternalDocs(extDoc): OpenApiSpec

Defined in: service-core/src/OpenApiSpec.ts:280

Parameters

extDoc

ExternalDocumentationObject

Returns

OpenApiSpec


addHeader()

addHeader(name, header): OpenApiSpec

Defined in: service-core/src/OpenApiSpec.ts:250

Parameters

name

string

ReferenceObject | HeaderObject

Returns

OpenApiSpec


addInfo()

addInfo(info): OpenApiSpec

Defined in: service-core/src/OpenApiSpec.ts:185

Parameters

info

InfoObject

Returns

OpenApiSpec


addLicense()

addLicense(license): OpenApiSpec

Defined in: service-core/src/OpenApiSpec.ts:195

Parameters

license

LicenseObject

Returns

OpenApiSpec


addLink(name, link): OpenApiSpec

Defined in: service-core/src/OpenApiSpec.ts:260

Parameters

name

string

ReferenceObject | LinkObject

Returns

OpenApiSpec


addModel()

addModel(name, clazz): OpenApiSpec

Defined in: service-core/src/OpenApiSpec.ts:296

Adds a RapidREST model class to the OpenAPI specification as a schema.

Parameters

name

string

The name of the model to add.

clazz

any

The class prototype to build the schema from.

Returns

OpenApiSpec


addOpenApiVersion()

addOpenApiVersion(openApiVersion): OpenApiSpec

Defined in: service-core/src/OpenApiSpec.ts:180

Parameters

openApiVersion

string

Returns

OpenApiSpec


addParameter()

addParameter(name, parameter): OpenApiSpec

Defined in: service-core/src/OpenApiSpec.ts:235

Parameters

name

string

parameter

ReferenceObject | ParameterObject

Returns

OpenApiSpec


addPath()

addPath(path, pathItem): OpenApiSpec

Defined in: service-core/src/OpenApiSpec.ts:220

Parameters

path

string

pathItem

PathItemObject

Returns

OpenApiSpec


addRequestBody()

addRequestBody(name, reqBody): OpenApiSpec

Defined in: service-core/src/OpenApiSpec.ts:245

Parameters

name

string

reqBody

ReferenceObject | RequestBodyObject

Returns

OpenApiSpec


addResponse()

addResponse(name, response): OpenApiSpec

Defined in: service-core/src/OpenApiSpec.ts:230

Parameters

name

string

response

ReferenceObject | ResponseObject

Returns

OpenApiSpec


addRoute()

addRoute(name, path, method, metadata, docs, routeClass, isWebSocket?): OpenApiSpec

Defined in: service-core/src/OpenApiSpec.ts:312

Adds a RapidREST route handler to the OpenAPI specification.

Parameters

name

string

The name of the route handler. (e.g. findAll)

path

string

The complete path of the route handler. (e.g. /my/resources/:id)

method

string

The HTTP verb type that the route handler processes. (e.g. GET)

metadata

any

The object containing all API information about the route handler.

docs

DocumentsData

The object containing all documentation information about the route handler.

routeClass

any

The parent route class that the route handler belongs to.

isWebSocket?

boolean = false

Returns

OpenApiSpec


addSchema()

addSchema(name, schema): OpenApiSpec

Defined in: service-core/src/OpenApiSpec.ts:225

Parameters

name

string

schema

SchemaObject | ReferenceObject

Returns

OpenApiSpec


addSecurityScheme()

addSecurityScheme(name, secScheme): OpenApiSpec

Defined in: service-core/src/OpenApiSpec.ts:255

Parameters

name

string

secScheme

ReferenceObject | SecuritySchemeObject

Returns

OpenApiSpec


addServer()

addServer(server): OpenApiSpec

Defined in: service-core/src/OpenApiSpec.ts:270

Parameters

server

ServerObject

Returns

OpenApiSpec


addTag()

addTag(tag): OpenApiSpec

Defined in: service-core/src/OpenApiSpec.ts:275

Parameters

tag

TagObject

Returns

OpenApiSpec


addTermsOfService()

addTermsOfService(termsOfService): OpenApiSpec

Defined in: service-core/src/OpenApiSpec.ts:210

Parameters

termsOfService

string

Returns

OpenApiSpec


addTitle()

addTitle(title): OpenApiSpec

Defined in: service-core/src/OpenApiSpec.ts:200

Parameters

title

string

Returns

OpenApiSpec


addVersion()

addVersion(version): OpenApiSpec

Defined in: service-core/src/OpenApiSpec.ts:215

Parameters

version

string

Returns

OpenApiSpec


addWebhook()

addWebhook(webhook, webhookItem): OpenApiSpec

Defined in: service-core/src/OpenApiSpec.ts:285

Parameters

webhook

string

webhookItem

PathItemObject

Returns

OpenApiSpec


createSchemaClass()

createSchemaClass(clazz): SchemaObject

Defined in: service-core/src/OpenApiSpec.ts:610

Creates a new SchemaObject given the specified class prototype.

Parameters

clazz

any

The class prototype to build a schema object from.

Returns

SchemaObject

The schema object with all information derived from the given class prototype.


createSchemaObject()

createSchemaObject(typeInfo, defaultValue?, description?, example?, format?, identifier?): SchemaObject | ReferenceObject

Defined in: service-core/src/OpenApiSpec.ts:705

Creates a schema object for the given type.

Parameters

typeInfo

any

defaultValue?

any

description?

string

example?

any

format?

string

identifier?

boolean

Returns

SchemaObject | ReferenceObject


getParameterReference()

getParameterReference(name): ReferenceObject | undefined

Defined in: service-core/src/OpenApiSpec.ts:801

Returns a reference to an existing parameter defined in the OpenAPI specification for the given name.

Parameters

name

string

The name of the parameter to find a reference for.

Returns

ReferenceObject | undefined

The reference to the parameter with the given name, otherwise undefined.


getSchemaReference()

getSchemaReference(name): ReferenceObject | undefined

Defined in: service-core/src/OpenApiSpec.ts:817

Returns a reference to an existing schema defined in the OpenAPI specification for the given name.

Parameters

name

string

The name of the schema to find a reference for.

Returns

ReferenceObject | undefined

The reference to the schema with the given name, otherwise undefined.


getSpec()

getSpec(): OpenAPIObject

Defined in: service-core/src/OpenApiSpec.ts:168

Returns

OpenAPIObject


getSpecAsJson()

getSpecAsJson(replacer?, space?): string

Defined in: service-core/src/OpenApiSpec.ts:172

Parameters

replacer?

(key, value) => unknown

space?

string | number

Returns

string


getSpecAsYaml()

getSpecAsYaml(): string

Defined in: service-core/src/OpenApiSpec.ts:176

Returns

string


merge()

merge(other): void

Defined in: service-core/src/OpenApiSpec.ts:831

Merges a provided OpenAPI specification with this specification.

Parameters

other

any

The other OpenAPI spec object to merge.

Returns

void