paint-brush
REST API Tools Smackdownby@marta-krzyk
656 reads
656 reads

REST API Tools Smackdown

by Marta KrzykJuly 10th, 2020
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

With the abundance of options available, developers need an intelligent tool to ensure quality and productivity. With an API definition, Swagger Editor is a popular choice with graphical visualization. Apicurio is an open-source project, simple and elegant tool with support for JSON and YAML. ReadyAPI is a combination of 3 tools available for separate licence purchase: SoapUI Pro, LoadUI Pro (performance testing), ServiceV Pro (service virtualization) ready to test large products and complex tests.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - REST API Tools Smackdown
Marta Krzyk HackerNoon profile picture

Introduction

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).

Apicurio is an open-source project, simple and elegant tool with support for JSON and YAML. What you get:

  • Importing APIs from source control, file, URL
  • Integration with your GitHub, GitLab or Bitbucket account
  • Previewing live documentation
  • Visual editors for designing APIs on Open API standard (no coding skills required!)

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:

  • add mock servers,
  • switch between environmental setups,
  • generate documentation,
  • apply custom styling. 

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.

Ping API  is a powerful API inspector. Minimalistic in appearance, it allows the creation of projects for HTTP API calls. After you fill in the request and response data, test code is auto-generated. You can also create set-up scripts in JavaScript (or CoffeeScript) that are invoked before each test.

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.

You can upgrade your monitoring with custom JavaScript scripts to run with tests (e.g. to load or parse data from JSON) or generate a report (not downloadable). A nice touch is the import option from other popular API-related tools: Postman, Swagger, RAML, HAR. Sad news for the Southern Hemisphere, servers that are located in the US, Japan and Ireland.

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:

  • Sending request with cookies, query and header, body of request is filled in editor;
  • Environments configured as JSONs;
  • Support for multiple authorization options: Basic, Digest, Bearer Token, Microsoft NTLM, OAuth, AWS IAM, Hawk, Atlassian ASAP, Netrc File;
  • Client-side code snippet generator for multiple languages, some with different library implementations. 

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:

  • Sending requests and inspecting responses
  • Validating API behaviour
  • Importing Postman, Swagger, OAS, OpenAPI, HAR test collections

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: 

  • latency,
  • response time, 
  • geographical distribution of API usage, 
  • proxy performance,
  • error code analytics.

Putting the moving parts together

Linx is a sophisticated developer tool for backend integrations, automations and web services. The main use scenarios are:

  • Building, hosting and managing multiple APIs with one platform,
  • Consuming and orchestrating data across many technology end-points,
  • Accelerating API Development,
  • Simplifying existing APIs.

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. 

Feature smackdown

Still at a lost? Use the comparison table below to help yourself decide.

Conclusion

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.

Happy hunting.