Improvements have been made to WSDL import by fixing minor bugs, adding new features, and improving on the existing ones in an effort to make it more compliant with the official W3C specification
AngularJS Circular Dependency Fix
We have changed the structure of the Angular SDK to break cyclic dependencies. Due to this, the following changes have been made:
- Model deserialization logic has moved out from model files.
- We have added new files
ObjectMapper.js
andModelFactory.js
to the SDK. BaseModel
is now being used to assign values to model properties (when model class is directly instantiated)BaseController
has been added to the SDK.
Please generate your SDK again to get the improved code.
Support for Export to WSDL Added
Good news! You can now export your existing API description files to WSDL. The generated WSDL can be utilized in generating server interfaces using VS developer tools in addition to other benefits. The WSDL generated follows the WSDL 1.1 format specified at https://www.w3.org/TR/wsdl.
Code Compliance Implemented In Angular
Since we're always working on improving our generated SDK's, today we're announcing some major work done on the Angular.js SDK.
- Angular.js generated code is now standard compliant.
- The standard we're using is John Papa's Angular1 Style Guide.
- The linter can be run from the command-line by using the command
jshint <folder-name-to-lint>
. - The configuration file for the linter will be included with the SDK from now.
Please generated your SDK again to get the standard compliant code.
Added Support for Postman Environment and Dump files
Now you can upload a ZIP file containing your Postman Collection file along with any Postman Environment Files. That way we will extract values for your environment variables from the Environment files and give a better output during conversions on the Transformer or when importing APIs to your Manage APIs page. Support for Postman data dump files has now been added as well.
Model Classes Code Improved
We've made an improvement to how model properties are now generated in the code. The generated SDK now contains both camel case-d version of the property name and the actual property name (where applicable).
Read on to find more details about the change.
Please generate your SDK again to get the improved code.
ES6 Promises in NodeJS
NodeJS SDKs will now return promises in endpoint calls, as an alternative to accepting callbacks.
- We use ES6 Promises which is based on Promises/A+ and is interoperable with most Promise-based implementations.
- Callbacks are still supported (for backward-compatibility) but are now optional.
Re-generate your NodeJS SDK to get the new Promise-enabled SDK implementation now.
Additional Model Properties Support in Node SDK
NodeJS SDKs can now optionally preserve additional properties returned in the response. This setting can be enabled via Settings > CodeGen Settings
page in the API editor and turning on the Enable Additional Model Properties
flag.
Node.js Circular Dependency Fix
We have changed the structure of the SDK to break cyclic dependencies. Due to this, the following changes have been made:
- Model deserialization logic has moved out from model classes.
- We have added new files
ObjectMapper.js
andModelFactory.js
to the sdk. - Exception handling in
BaseController
has changed to useObjectMapper
. BaseModel
is now being used to assign values to model properties (when model class is directly instantiated)BaseController
is not being exposed by the API Client now.
Please generate your SDK again to get the improved code.
Polymorphic Responses with Discriminator Field
APIMatic Code Generation engine now supports polymorphic responses with the help of a discriminator field.
- Discriminator is a field that is used to differentiate between a parent model and models that inherit from it.
- The response is deserialized into the parent model or one of its child classes by inspecting the discriminator field's value in the response.
- Using a discriminator field, you can build leaner models by not having to build unions of fields needed by a polymorphic response.
Check out the Discriminator documentation to get started.