ivastly / api-client-generator

API client generator is a console application capable of generating an API client based on OpenAPI(Swagger) specification.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OpenAPI SDK generator - API client generator

API client generator is a console application capable of auto-generating an API client based on OpenAPI specification according to PHP best practices, and your code style standards.

Build Status Coverage Status PHPStan Level

Usage

With Docker

docker run -it \
-v {path-to-specification}/openapi.yaml:/openapi.yaml:ro \
-v {path-to-client}/some-api-client:/client \
-e NAMESPACE=Group\\SomeApiClient \
-e OPENAPI=/openapi.yaml \
-e OUTPUT_DIR=/client \
-e PACKAGE=group/some-api-client \
dhlabs/api-client-generator

Without Docker

Preconditions: PHP 7.4

Clone the repository and run: OPENAPI={path-to-specification}/openapi.yaml NAMESPACE=Group\SomeApiClient PACKAGE=group/some-api-client OUTPUT_DIR={path-to-client}/generated ./bin/api-client-generator generate

Configuration

The following environment variables are available:

Variable Required Default Example
NAMESPACE yes Group\SomeApiClient
PACKAGE yes group/some-api-client
OPENAPI yes /api/openapi.yaml
OUTPUT_DIR yes /client
CODE_STYLE no {path-to-repository}/.php_cs.php /client/myCodeStyle.php
CLIENT_PHP_VERSION no 7.0 7.0
COMPOSER_JSON_TEMPLATE_DIR no {path-to-repository}/template/composer.json.twig /path/composer.json.twig
README_MD_TEMPLATE_DIR no {path-to-repository}/template/README.md.twig /path/README.md.twig

About

API client generator is a console application capable of generating an API client based on OpenAPI(Swagger) specification.

License:MIT License


Languages

Language:PHP 99.6%Language:HTML 0.3%Language:Dockerfile 0.1%