Download the PHP package codeasashu/openapi-validator without Composer

On this page you can find all versions of the php package codeasashu/openapi-validator. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package openapi-validator

What is this?

Validate data against openapi v3 spec

Features

  1. Checks for required fields
  2. Checks types
  3. Supports nested structures
  4. Supports discriminator
  5. Supports allOf, anyOf
  6. Supports nullable
  7. Resolves local references (components)
  8. Supports additionalProperties

Unlike Dredd it does not require examples and does not check that data matches examples

Installation

Requirements

Your openapi spec has to be valid, You can use Speccy to check Your schema first

This library assumes that each operation has operationId

Examples

Given we have api described by following OpenAPI specification

We have server implementation (this is of course example - normally You would fetch data from some storage)

How to verify that server implementation works as described? Use openapi-validator with any http client:

  1. Load Your spec to validator
  2. Make request with any http client
  3. Pass request uri, request method, response code and response body to validator (and optionally media type, default is application/json)
  4. Validator will find figure out that for method 'GET', path '/cards' and response code 200, required response schema is:

  5. Actual response body is validated against that schema
  6. Result object is produced, if response is invalid then result object will contain errors

In this case response is valid:

Lets now introduce some errors:

Required id field for second item is missing:

Lets break something else

power field should be integer (second item):

Other libraries

  1. Dredd - currently supports only swagger/openapi v2, support for v3 is not yet there
  2. Swagger - support for v2 only

TODO

  1. Support all openapi formats
  2. Support for not keyword

How this works?

Transform openapi spec into json schema and then uses justinrainbow/json-schema to validate it


All versions of openapi-validator with dependencies

PHP Build Version
Package Version
Requires php Version >=7.0
justinrainbow/json-schema Version ^5.2
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package codeasashu/openapi-validator contains the following files

Loading the files please wait ....