diff --git a/src/framework/ajv/index.ts b/src/framework/ajv/index.ts index 695bc7a0..b5d753dc 100644 --- a/src/framework/ajv/index.ts +++ b/src/framework/ajv/index.ts @@ -85,7 +85,7 @@ function createAjv( }); } - if (openApiSpec.components.schemas) { + if (openApiSpec.components?.schemas) { Object.entries(openApiSpec.components.schemas).forEach( ([id, schema]: any[]) => { ajv.addSchema(schema, `#/components/schemas/${id}`); diff --git a/src/middlewares/openapi.request.validator.ts b/src/middlewares/openapi.request.validator.ts index a411b71f..9260cddb 100644 --- a/src/middlewares/openapi.request.validator.ts +++ b/src/middlewares/openapi.request.validator.ts @@ -99,7 +99,7 @@ export class RequestValidator { const securityQueryParameter = this.getSecurityQueryParams( usedSecuritySchema, - this._apiDocs.components.securitySchemes, + this._apiDocs.components?.securitySchemes, ); let requestBody = pathSchema.requestBody; diff --git a/src/middlewares/openapi.security.ts b/src/middlewares/openapi.security.ts index 0aae8086..9648ab7f 100644 --- a/src/middlewares/openapi.security.ts +++ b/src/middlewares/openapi.security.ts @@ -55,8 +55,7 @@ export function security( return next(); } - const securitySchemes = - context.apiDoc.components && context.apiDoc.components.securitySchemes; + const securitySchemes = context.apiDoc.components?.securitySchemes; if (!securitySchemes) { const message = `security referenced at path ${path}, but not defined in 'components.securitySchemes'`; diff --git a/test/resources/serialized.objects.yaml b/test/resources/serialized.objects.yaml index 7cc235bd..83a0b6c4 100644 --- a/test/resources/serialized.objects.yaml +++ b/test/resources/serialized.objects.yaml @@ -69,5 +69,3 @@ paths: application/json: schema: type: object - -components: {}