Skip to main content

Class: OpenApiSpec

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

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:25

Parameters

spec?

OpenAPIObject

Returns

OpenApiSpec

Accessors

builder

Get Signature

get builder(): OpenApiBuilder

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

Returns

OpenApiBuilder

Set Signature

set builder(value): void

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

Parameters
value

OpenApiBuilder

Returns

void


components

Get Signature

get components(): ComponentsObject | undefined

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

Returns

ComponentsObject | undefined


externalDocs

Get Signature

get externalDocs(): ExternalDocumentationObject | undefined

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

Returns

ExternalDocumentationObject | undefined


info

Get Signature

get info(): InfoObject

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

Returns

InfoObject


openapi

Get Signature

get openapi(): string

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

Returns

string


paths

Get Signature

get paths(): PathsObject | undefined

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

Returns

PathsObject | undefined


security

Get Signature

get security(): SecurityRequirementObject[] | undefined

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

Returns

SecurityRequirementObject[] | undefined


servers

Get Signature

get servers(): ServerObject[] | undefined

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

Returns

ServerObject[] | undefined


tags

Get Signature

get tags(): TagObject[] | undefined

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

Returns

TagObject[] | undefined


webhooks

Get Signature

get webhooks(): PathsObject | undefined

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

Returns

PathsObject | undefined

Methods

addCallback()

addCallback(name, callback): OpenApiSpec

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

Parameters

name

string

callback

ReferenceObject | CallbackObject

Returns

OpenApiSpec


addContact()

addContact(contact): OpenApiSpec

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

Parameters

contact

ContactObject

Returns

OpenApiSpec


addDescription()

addDescription(description): OpenApiSpec

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

Parameters

description

string

Returns

OpenApiSpec


addExample()

addExample(name, example): OpenApiSpec

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

Parameters

name

string

example

ReferenceObject | ExampleObject

Returns

OpenApiSpec


addExternalDocs()

addExternalDocs(extDoc): OpenApiSpec

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

Parameters

extDoc

ExternalDocumentationObject

Returns

OpenApiSpec


addHeader()

addHeader(name, header): OpenApiSpec

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

Parameters

name

string

ReferenceObject | HeaderObject

Returns

OpenApiSpec


addInfo()

addInfo(info): OpenApiSpec

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

Parameters

info

InfoObject

Returns

OpenApiSpec


addLicense()

addLicense(license): OpenApiSpec

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

Parameters

license

LicenseObject

Returns

OpenApiSpec


addLink(name, link): OpenApiSpec

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

Parameters

name

string

ReferenceObject | LinkObject

Returns

OpenApiSpec


addModel()

addModel(name, clazz): OpenApiSpec

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

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:179

Parameters

openApiVersion

string

Returns

OpenApiSpec


addParameter()

addParameter(name, parameter): OpenApiSpec

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

Parameters

name

string

parameter

ReferenceObject | ParameterObject

Returns

OpenApiSpec


addPath()

addPath(path, pathItem): OpenApiSpec

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

Parameters

path

string

pathItem

PathItemObject

Returns

OpenApiSpec


addRequestBody()

addRequestBody(name, reqBody): OpenApiSpec

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

Parameters

name

string

reqBody

ReferenceObject | RequestBodyObject

Returns

OpenApiSpec


addResponse()

addResponse(name, response): OpenApiSpec

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

Parameters

name

string

response

ReferenceObject | ResponseObject

Returns

OpenApiSpec


addRoute()

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

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

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.

Returns

OpenApiSpec


addSchema()

addSchema(name, schema): OpenApiSpec

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

Parameters

name

string

schema

SchemaObject | ReferenceObject

Returns

OpenApiSpec


addSecurityScheme()

addSecurityScheme(name, secScheme): OpenApiSpec

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

Parameters

name

string

secScheme

ReferenceObject | SecuritySchemeObject

Returns

OpenApiSpec


addServer()

addServer(server): OpenApiSpec

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

Parameters

server

ServerObject

Returns

OpenApiSpec


addTag()

addTag(tag): OpenApiSpec

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

Parameters

tag

TagObject

Returns

OpenApiSpec


addTermsOfService()

addTermsOfService(termsOfService): OpenApiSpec

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

Parameters

termsOfService

string

Returns

OpenApiSpec


addTitle()

addTitle(title): OpenApiSpec

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

Parameters

title

string

Returns

OpenApiSpec


addVersion()

addVersion(version): OpenApiSpec

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

Parameters

version

string

Returns

OpenApiSpec


addWebhook()

addWebhook(webhook, webhookItem): OpenApiSpec

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

Parameters

webhook

string

webhookItem

PathItemObject

Returns

OpenApiSpec


createSchemaClass()

createSchemaClass(clazz): SchemaObject

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

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:685

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:781

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:797

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:167

Returns

OpenAPIObject


getSpecAsJson()

getSpecAsJson(replacer?, space?): string

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

Parameters

replacer?

(key, value) => unknown

space?

string | number

Returns

string


getSpecAsYaml()

getSpecAsYaml(): string

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

Returns

string


merge()

merge(other): void

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

Merges a provided OpenAPI specification with this specification.

Parameters

other

any

The other OpenAPI spec object to merge.

Returns

void