UNPKG

openapi-validator-utils

Version:

OpenAPI request, parameters, headers and response validator methods

143 lines (109 loc) 5.71 kB
![npm](https://img.shields.io/npm/v/openapi-validator-utils) [![Build](https://github.com/BRIKEV/openapi-validator-utils/actions/workflows/runTests.yml/badge.svg)](https://github.com/BRIKEV/openapi-validator-utils/actions/workflows/runTests.yml) [![Known Vulnerabilities](https://snyk.io/test/github/BRIKEV/openapi-validator-utils/badge.svg)](https://snyk.io/test/github/BRIKEV/openapi-validator-utils) [![Maintainability](https://api.codeclimate.com/v1/badges/efee2f09c8c1887ccbf9/maintainability)](https://codeclimate.com/github/BRIKEV/openapi-validator-utils/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/efee2f09c8c1887ccbf9/test_coverage)](https://codeclimate.com/github/BRIKEV/openapi-validator-utils/test_coverage) ![License: MIT](https://img.shields.io/badge/License-MIT-green.svg) # openapi-validator-utils This library expose some methods to validate request, parameters, headers and response based on your OpenAPI Json definition. ## Methods ### validate(openApiDef, options) -> {ValidationMethods} You can checkout more info about this method in our [Docs link](https://brikev.github.io/openapi-validator-utils/global.html#validate). **Parameters** | Name | Type | Description | | ------------|:------:| ------------------:| | openApiDef | object | OpenAPI definition | | options | object | Options to extend the errorHandler, strictValidation or Ajv configuration | **Returns:** validator methods - Type [ValidatorMethods](#ValidatorMethods) ## ValidatorMethods object These are the object keys the validate method returns. ```js { validateRequest, validateQueryParam, validatePathParam, validateHeaderParam, validateResponse, } ``` | Name | Type | Description | | --------------------------------------------|:--------:| ------------------:| | [validateRequest](#validateRequest) | function | Method to validate an endpoint's request | | [validateQueryParam](#validateQueryParam) | function | Method to validate an endpoint's query parameter | | [validatePathParam](#validatePathParam) | function | Method to validate an endpoint's path parameter | | [validateHeaderParam](#validateHeaderParam) | function | Method to validate an endpoint's header parameter | | [validateResponse](#validateResponse) | function | Method to validate an endpoint's response | | [validateRequiredValues](#validateRequiredValues) | function | Method to required parameters | | [isRequestRequired](#isRequestRequired) | function | Method to validate if requestBody is necessary | #### validateRequest ```js validateRequest(payload, endpoint, method, contentType) ``` | Name | Type | Description | | ------------|:------:| ------------------:| | payload | object | Payload we want to validate | | endpoint | string | OpenApi endpoint we want to validate | | method | string | OpenApi method we want to validate | | contentType | string | Content api of the request we want to validate. Optional | #### validateQueryParam ```js validateQueryParam(payload, endpoint, method, contentType) ``` | Name | Type | Description | | ------------|:------:| ------------------:| | payload | object | Payload we want to validate | | endpoint | string | OpenApi endpoint we want to validate | | method | string | OpenApi method we want to validate | | contentType | string | Content api of the request we want to validate. Optional | #### validatePathParam ```js validatePathParam(payload, endpoint, method, contentType) ``` | Name | Type | Description | | ------------|:------:| ------------------:| | payload | object | Payload we want to validate | | endpoint | string | OpenApi endpoint we want to validate | | method | string | OpenApi method we want to validate | | contentType | string | Content api of the request we want to validate. Optional | #### validateHeaderParam ```js validateHeaderParam(payload, endpoint, method, contentType) ``` | Name | Type | Description | | ------------|:------:| ------------------:| | payload | object | Payload we want to validate | | endpoint | string | OpenApi endpoint we want to validate | | method | string | OpenApi method we want to validate | | contentType | string | Content api of the request we want to validate. Optional | #### validateResponse ```js validateResponse(payload, endpoint, method, status, contentType) ``` | Name | Type | Description | | ------------|:------:| ------------------:| | payload | object | Payload we want to validate | | endpoint | string | OpenApi endpoint we want to validate | | method | string | OpenApi method we want to validate | | status | string | OpenApi status we want to validate | | contentType | string | Content api of the request we want to validate. Optional | #### validateRequiredValues ```js validateRequiredValues(values, endpoint, method) ``` | Name | Type | Description | | ------------|:------:| ------------------:| | values | object | Values we want to check if they are required | | endpoint | string | OpenApi endpoint we want to validate | | method | string | OpenApi method we want to validate | #### isRequestRequired ```js isRequestRequired(endpoint, method, contentType) ``` | Name | Type | Description | | ------------|:------:| ------------------:| | endpoint | string | OpenApi endpoint we want to validate | | method | string | OpenApi method we want to validate | | contentType | string | Content api of the request we want to validate. Optional |