A command-line interface (CLI) tool that generates Angular services from Swagger or OpenAPI definition files.
This is a Node.js module available through the npm registry. Install it globally using npm:
npm install -g swagger-to-angular
It can be installed only on project scope using npm:
npm install swagger-to-angular
swagger-to-angular -i /path/to/swagger_or_openapi_file -o /path/to/angular_project
Where:
/path/to/swagger_or_openapi_file
is the path to your Swagger or OpenAPI definition file (.json or .yaml).
/path/to/angular_project
is the path to your Angular project directory where the services will be created.
This command generates an Angular service for each operation defined in the Swagger/OpenAPI file, and a base service that all other services extend.
In case unit-test .spec
files need to be generated, adding -t
or --test
parameter will make the library to generate a spec file for each service generated.
Let's say you have an OpenAPI definition file at /home/user/api.yaml
, and an Angular project at /home/user/my-angular-project
. You can generate services using the following command:
swagger-to-angular -i /home/user/api.yaml -o /home/user/my_angular_project/services_directory
After running this command, you will find a .ts file for each operation defined in api.yaml
inside your Angular project directory, along with a base.service.ts file.
In this previous example, if unit-test spec files are required:
swagger-to-angular -i /home/user/api.yaml -o /home/user/my_angular_project/services_directory -t
This script assumes that the Swagger/OpenAPI file is well-formed and may not handle all edge cases. It's a good starting point, but for production usage, you would likely need to extend and harden this script according to your specific needs.
- v1.1.12
- Removed
swagger-js-codegen
dependency
- Removed
- v1.1.11
- Minor bug fixed
- Updated documentation
- v1.1.10
- Now in case the specified output directory does not exist, the library will create it
- v1.1.9
- Minor bug fixed
- v1.1.8
- Minor bug fixed
- v1.1.7
- Refactored for more consistent arguments handling ('-i' or '--input' for input file, '-o' or '--output' for output directory, and '-t' or '--test' for enabling unit test generation)
- Unit test generation capabilities added
- v1.1.6
- Minor bug fixed
- v1.1.5
- Minor bug fixed
- v1.1.4
- More verbose output, writing to console the generated services' names, and total time spent
- v1.1.3
- Added capability to override base url property per whole path found on swagger file if it contains 'server' properties block. If per-method base url is provided under 'server' block, it will prevail over path-specific one
- v1.1.2
- Added capability to override base url property per path operation found on swagger file if it contains 'server' properties block
- v1.1.1
- Minor change to consider undefined server.url property on swagger v3
- v1.1.0
- Added swagger v2 vs v3 discerning capabilities
- Now it tries to automatically detect base url and adds it to generated base service
- v1.0.0
- Initial release