From dd02c200f136331a9d2f989caf48b02da982540c Mon Sep 17 00:00:00 2001 From: Andrey Trebler Date: Mon, 19 Aug 2019 14:19:17 +0200 Subject: [PATCH] adds support for using in requestBody --- src/middlewares/openapi.request.validator.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/middlewares/openapi.request.validator.ts b/src/middlewares/openapi.request.validator.ts index f67ea00b..b4b41c62 100644 --- a/src/middlewares/openapi.request.validator.ts +++ b/src/middlewares/openapi.request.validator.ts @@ -156,7 +156,12 @@ export class RequestValidator { private buildMiddleware(path, pathSchema, contentType) { const parameters = this.parametersToSchema(path, pathSchema.parameters); - const requestBody = pathSchema.requestBody; + let requestBody = pathSchema.requestBody; + + if (requestBody && requestBody.hasOwnProperty('$ref')) { + const id = requestBody.$ref.replace(/^.+\//i, ''); + requestBody = this._apiDocs.components.requestBodies[id]; + } let body = this.requestBodyToSchema(path, contentType, requestBody); let requiredAdds = requestBody && requestBody.required ? ['body'] : [];