I've been doing recently a lot of work integrating different backend systems, using its APIs, tipically in some form of a REST API. The current post has the main goal to enumerate tools that I currently use to become my work easier to explore and diagnose APIs, before getting my hands dirty with code.
I've already introduced this tool in another post. Basically, this tool allows us to check the requests that are being made by our application to a given endpoint.
Postman is a REST client that runs as a Chrome packaged app. It's an absolutely essential tool to use when you start exploring an API's service provider. Here are the main features:
Runscope is the company that brings us RequestBin, and it has developed a SaaS app which allows us to test our APIs. It has different components:
For the current work that I'm doing, I've just used API traffic inspector and Passageway
It's similiar to Requestbin, since it allows us to capture a given request, but it's more powerfull:
It was never been easy to expose our local web server to the world. Just download the app and run it.
Finally I want to say someting about Zapier. Zapier makes it easy to automate tasks between web apps. Sometimes I have to use Zapier to allow me to test an end to end scenario. Let me give you an example: the system I'm working on provides me an abstraction (a class) that allows me to call a web hook. Internally, the framework that uses that class does not allow to use HTTP calls, and requires that any call would be HTTPS. I was using requestbin to check the payload that the system was producing, but Requestbin does not allow to have HTTPS endpoints (at least without the SSL certificate warning). By that time I didn't know Runscope. So, my solution was to create a Zap in Zapier, that receives on a webhook listening an HTTPS endpoint and sends the request to another webhook on RequestBin. I strongly recommend to check Zapier, since it opens a variety of integration scenarios out of the box.
Conclusion: I'm sure there are other great tools out there, but these are the ones that I'm currently using. Besides the tools I've mentioned,. we should have a good understanding of REST architecture style, and how HTTP protocol works.