<
Neerav Mehta
Founder & CEO
APIhub is creating a website to store information and client libraries about all the available APIs. To create client libraries from API specs, they are using Swagger Codegen, which is developed in Scala. APIhub wanted to create a system that the API spec uploaded on their Drupal websites automatically gets converted to client libraries in PHP, Java, Scala, Ruby and Python and then uploaded on the website for the clients to download.
Red Crackle created a separate service server for the Swagger Codegen and put a Drupal installation there. Then we created APIs so that the main Drupal website would interface with this Swagger Codegen server and communicate information about the API specs as well as client libraries. When a API spec node is saved, an MD5 hash is generated and is stored in the main Drupal site. Whenever the node is saved again, we make sure that the hash has changed. If the hash hasn't changed, that means that the API spec hasn't changed and we don't generate new client libraries. On the other hand, if the hash has changed, the main Drupal website calls the Swagger Codegen server with the API spec. The Swagger Codegen servers received the spec and invokes Swagger Codegen, which in turn starts generating client libraries. Once the client libraries are generated, the Drupal instance on the Swagger Codegen server passes them back to the main Drupal website using a service call. The main Drupal website saves these libraries and displays them on the webpage for the visitors to download.
This automated process reduced the hours of work that needed to be done to manually convert the API specs to client libraries.
Background & Goals
APIhub is creating a repository of all the available APIs. They are using Swagger Codegen to convert API specs into client libraries in multiple languages. These include PHP, Java, Ruby, Python and Scala. The Swagger Codegen engine is developed in Scala and APIhub wanted to integrate their Drupal website with Swagger Codegen so that when someone submits an API spec, it automatically gets converted to client libraries and is uploaded on the Drupal website.
Solution
Red Crackle created a service using Drupal which calls the Swagger Codegen whenever a new API spec is received. The Swagger creates client libraries and informs Drupal website of them. Drupal code then uploads these libraries so that they can be downloaded by the visitors.
Results
APIhub got an integrated system that automatically creates client libraries whenever a new API spec is uploaded. This reduces the work they need to do to convert each API spec into client libraries manually. Visitors can download these client libraries from their website.
Neerav Mehta
Neerav Mehta is the Founder & CEO of Red Crackle. With sterling qualities, Neerav’s technological acumen is firing a generation of progressive companies on the digital path. With an undergraduate degree in Electrical Engineering from India's most prestigious institution IIT Bombay and having spent seven years developing and contributing to the launch of AMD's innovative line of computer products, Neerav founded Red Crackle where he is lauded for his dynamic and innovative genius.
Read Next
Booking.com
Helping one of the world's largest travel marketplaces build a new UI for their website.
View Case Study
Collection King
REST API integration between Collection King’s Drupal-based website and their app.
View Case Study
Concrete Ideas
Achieving a higher visitor retention rate through speed optimization by improving page load times.
View Case Study
Let’s get you started!