Page Contents

Home > @loopback/openapi-v3

openapi-v3 package

@loopback/openapi-v3

Classes

Class Description
OASEnhancerService An extension point for OpenAPI Spec enhancement This service is used for enhancing an OpenAPI spec by loading and applying one or more registered enhancers.A typical use of it would be generating the OpenAPI spec for the endpoints on a server in the @loopback/rest module.

Functions

Function Description
api(spec) Decorate the given Controller constructor with metadata describing the HTTP/REST API the Controller implements/provides.@api can be applied to controller classes.
createEmptyApiSpec() Create an empty OpenApiSpec object that’s still a valid openapi document.
del(path, spec) Expose a Controller method as a REST API operation mapped to DELETE request method.
get(path, spec) Expose a Controller method as a REST API operation mapped to GET request method.
getControllerSpec(constructor) Get the controller spec for the given class
getFilterSchemaFor(modelCtor) Build an OpenAPI schema describing the format of the “filter” object used to query model instances.Note we don’t take the model properties into account yet and return a generic json schema allowing any “where” condition.
getModelSchemaRef(modelCtor, options) Describe the provided Model as a reference to a definition shared by multiple endpoints. The definition is included in the returned schema.
getWhereSchemaFor(modelCtor) Build a OpenAPI schema describing the format of the “where” object used to filter model instances to query, update or delete.Note we don’t take the model properties into account yet and return a generic json schema allowing any “where” condition.
jsonOrBooleanToJSON(jsonOrBool) Helper function used to interpret boolean values as JSON Schemas. See http://json-schema.org/draft-06/json-schema-release-notes.html
jsonToSchemaObject(json, visited) Converts JSON Schemas into a SchemaObject
mergeOpenAPISpec(currentSpec, patchSpec) The default merge function to patch the current OpenAPI spec. It leverages module json-merge-patch’s merge API to merge two json objects. It returns a new merged object without modifying the original one.A list of merging rules can be found in test file: https://github.com/pierreinglebert/json-merge-patch/blob/master/test/lib/merge.js
operation(verb, path, spec) Expose a Controller method as a REST API operation.
param(paramSpec) Describe an input parameter of a Controller method.@param must be applied to parameters.
patch(path, spec) Expose a Controller method as a REST API operation mapped to PATCH request method.
post(path, spec) Expose a Controller method as a REST API operation mapped to POST request method.
put(path, spec) Expose a Controller method as a REST API operation mapped to PUT request method.
requestBody(requestBodySpec) Describe the request body of a Controller method parameter.A typical OpenAPI requestBody spec contains property: - description - required - content.

Interfaces

Interface Description
ControllerSpec  
OASEnhancer Typically an extension point defines an interface as the contract for extensions to implement
OASEnhancerServiceOptions Options for the OpenAPI Spec enhancer extension point
RestEndpoint Data structure for REST related metadata

Namespaces

Namespace Description
param Namespace for @param.* decorators
requestBody  

Variables

Variable Description
asSpecEnhancer A binding template for spec contributor extensions
OAS_ENHANCER_EXTENSION_POINT_NAME Name/id of the OAS enhancer extension point
OAS_ENHANCER_SERVICE Strongly-typed binding key for SpecService
REQUEST_BODY_INDEX  
TS_TYPE_KEY  

Type Aliases

Type Alias Description
OpenApiSpec  
SchemaRef Custom LoopBack extension: a reference to Schema object that’s bundled inside definitions property.