Generating Frank!Adapters from an OpenAPI specification
AUTHOR: JEROEN JANSEN VAN ROSENDAAL ARCHITECTFRANK!FRAMEWORK
We are working on a new OpenSource addition to our Frank!Framework, namely the OpenApi2Frank! generator. With this generator you can generate a Frank!Adapter for a consumer API as well as for a producer API from an OpenAPI specification.
You can connect to a REST API from another party, then you are a 'consumer'. You can think of collecting weather conditions in a specific place. If others take a service from you, you are the 'producer'. A Frank!Adapter can be generated for both sides.
The newly developed OpenApi2Frank! generator reads the OpenAPI specifications from a file or a url and generates a Frank!Adapter based on this, including a complete Sender with message definitions. By generating a large part automatically, the Frank!Developer will improve its productivity.
A second application we built with the OpenApi2Frank! generator is the generation of a 'producer' based on an OpenAPI specification. With this you can;
1. Easily transfer an existing API to the Frank!Framework.
2. or you can first define your API specifications on the basis of a 'design first' approach, and then start the realization from there.
The OpenApi2Frank! generator also reads the OpenAPI specifications here and on this basis generates the foundation of a working Frank!Adapter, including the message definitions and a possible stub.
You can download the OpenApi2Frank! generator to consume an API and quickly and easily generate the basis of a Frank!Adapter. In addition, you can use OpenApi2Frank! apply when migrating existing APIs to the Frank!Framework with the same APIs on the outside. And you can generate your entire restAPI in one go based on your predefined OpenAPI specifications.
Do you want the (beta) open source OpenApi2Frank! generator to consume or produce an API or if you want to contribute to it, please contact us. The OpenApi2Frank! generator is not yet publicly available, but we are happy to make it available for free,