For as long as I can remember, every time I was testing REST APIs the only solution that was used by me was Postman. It is not a rant - I love it. It has a lot of great features and has served me well. The only problem was - it was not MacOS native application. Perhaps I don't remember that good, but at some point in a very old release it was. All in all - Electron applications are sh*t. I really don't like them. They are slow, consume a lot of memory (I'm looking at you Slack) and just don't feel right. I understand that Electron provides an easy way of creating Desktop applications with just web technologies, but they are still a web app running in a separate browser window - nothing fancy.
But! This post is not a rant on Electron. It's my appretiation of a very good alternative to Postman - RapidAPI. Or perhaps I should be more specific - Rapid API for Mac. As far as I understand - RapidAPI is an API platform just like the one provided by Postman. And there is the RapidAPI for Mac - witch is a desktop client (you guessed it) for Mac and is really for Mac - it is a native application and currently is free. Interestingly it has its own domain and webpage, that is paw.cloud. RapidAPI for Mac is a rebrand of Paw and should offer native clients for Windows and Linux. To be fair I don't have a lot of regarding the rebranding and the history of the client. Information although it is available on the internet, so if you are interested, perhaps this blog post is a good starting point.
Features
So let's see why you should try it over Postman, besides it is a native application.
- Interchangeable HTTP Client libraries (choose from RapidAPI HTTP library, Apple URLSession, ASIHTTPRequest)
- Environments - stored as a .paw files on your hard drive, enable you to switch different environments e.g. different APIs
- Session - another way of grouping your requests
- Code generators - Generate client code from your request/s for different programming languages or tools as extensions - e.g. generate python code with requests library, or swift request with NSURLsession. See File -> Export Request/Export All Requests
- Schema import - Generate requests based on Schema/documentation - also managed with extensions - support for Swagger 2.0, OpenAPI 3.0 or already hosted API documentation from the RapidAPI Hub.
- Support for different request bodies - Text, JSON, Multipart, GraphQL, gRPC etc.
- Support for different Authentication mechanisms - Basic Auth, OAuth2 etc.
- Variables - like have your baseURL/username/etc. in variables for all requests. You can even have grouping for different environments e.g. production/staging/testing etc. it is up to you.
- Sane defaults - it means for me - it hides a lot of that extra configuration if you don't need it
You can read more about the supported features in the documentation.
So all in all - give it a try.
Image Source: paw.cloud front-page (paw.cloud)