So you've decided that with your next project you are going to tread the RESTful path. But to be smart about it, you need an intelligent tool to ensure quality and productivity. With the abundance of options available, let's thumb through some of the developers' favorites.
First things first - API definition
Swagger Editor is a popular choice with graphical visualization. APIs can be defined either in JSON or YAML. Additionally, you can generate a server-side or client-side stub for most of the relevant technologies (from ASP.net core and Kotlin to Nodejs and Python).
Watch it go! - Tests and monitors
Postman is an intuitive and well-organized desktop tool. It is one of my personal favorites as it was the first-ever tool that I used to test my own APIs and the learning curve couldn't have been smoother. The product is well-rounded as it covers the API development from creation to testing and monitoring.
With Postman, you can:
Medium and large teams will appreciate the personal and team workspaces, fork and merge features that work similarly to that of any version control system like GitHub. You can also add a basic API monitor (runs on a minute, hour or week basis) and get email notifications about failures.
It has a few basic built-in functions for parsing, decoding and encoding URIs. In case of failures, a notification is sent via email, Slack or Hipchat. It's especially useful for web developers whose sites need to be responsive around the globe. Tests check APIs responses from 5 locations in 3 continents: in U.S.A., Japan, Germany and Singapore. You can schedule to run tests from 1 minute to a full day.
API Science is an easy-on-the-eye monitoring tool with graphs and charts. API Science lets you check health, availability, and performance of your or third-party APIs and automatically notifies about failures. The dashboard is straightforward to use and intuitive.
ReadyAPI - is an advanced platform for functional, security, and load testing for tight integration with your CI/CD pipeline. ReadyAPI is a combination of 3 tools available for separate licence purchase: SoapUI Pro (functional testing), LoadUI Pro (performance testing), ServiceV Pro (service virtualization). They describe themselves as "the Most Advanced API Testing Tool on the Market", and they might be right.
ReadyAPI options are vast and can be intimidating to learn at first. It's not cheap as it's aimed at large companies with large products and complex tests. The projects integrate with several CI/CD tools: Git, Docker, Jenkins, Azure DevOps, TeamCity, and more. Good news for tight budgets: there are open-source free versions available for Windows, Linux and Mac, however, the tests are slower.
Insomnia is a desktop app for debugging your API spec with Git sync option. The "Design" section offers style validation with detailed error messages. The auto-generated preview might remind API-navvies of Swagger Editor. In the "Debug" section you can tinker your API with:
The platform can be extended with installable plugins made by Insomnia community. The plugins cover JWT and token generators, environmental setups, XML-JSON translators, randomizers and UI themes. With paid plans, teams can collaborate and host the project in the cloud.
Talend API Tester is a free tool dedicated to testing HTTP and REST APIs. The significant functionalities are:
With API Tester you can create dynamic requests with custom variables, security and authentication and keep them organized as projects or services. You can run assertions against the responses of different formats (JSON, XML, HTML and others). Assertions are created in visual editors.
Bringing the API out to the world
Apigee is an online platform that enables you to build, manage, consume APIs and expose its functionalities via a portal for your consumers. From all the online tools mentioned in this smackdown, Apigee set itself apart from the others with the most elegant web experience, analytical tools, proxy creator, and sweet website generator.
If you need to adopt a SOAP service into a REST one, or you consume API but would like to expose API's backend services via a middleman, you are presented with proxy wizards with lots of policy options (quotas, authentications, data mediation, caching).
Apigee offers the consumer, neat, modern and straightforward portals including interactive auto-generated documentation sites for your APIs. The portal templates, with CSS themes, HTML and user management premade is ready to be customized or published right away. To ensure world-class API performance, their analytics tool and charts cover:
Putting the moving parts together
Linx is a sophisticated developer tool for backend integrations, automations and web services. The main use scenarios are:
Linx is particularly powerful for creating or calling internal and external REST web services. It is on the fastest ways to extend an API that requires integration with other technologies (e.g. you need to load or push data into a database, conjure up a rapport, push updates to notification steam, modify or encrypt data at any point, etc).
Alongside REST, Linx offers several other features from database to cryptography and cloud, which creates tons of possibilities for integrating your API with multiple different technologies. The Linx IDE Designer is a great, free option for carrying out tests and service calls. If you want to monitor and automatize the test suits or schedule calls either on-premise or in cloud, you will need to upgrade to the paid Linx Server.
Still at a lost? Use the comparison table below to help yourself decide.
With REST's and APIs' taking root in the digital world, one can only expect more tools to appear.
Now that you had a glimpse of options above, tailored for different needs of various size teams, projects and capabilities. If you are not happy with your current choice, it's easy enough to hop and experiment. Let me know your favorites in the comments below.