I have tried almost all API Client (Postman, Insomnia, Thunder Client, Rest Client, Bruno ...) out there but they still couldn't fulfill my requirement:
- Totally free (Some API Client force to paid for very basic function like import cURL which make no sense)
- API collection should saved as JSON file, so I can commit it Github, share it with my team or over the world (Some API Client force to use cloud, then sometime their cloud service is not stable and lose of all my collections :(( )
- Friendly UX the same with Postman, some API Client have UI but too handy to use, we need suggestions anywhere possible.
- Share the github link of specific request to team and they can use that link to immediately import to their API client. - Attach files should be relative path, so they can be committed Github along with the JSON request file.
- Variable should have updated time, updated source. So I can know exactly when/where it's updated.
- Re-use the test explorer of VSCode which is so powerful for testing
- Environment variable is JSON file as well, private variable is saved in a file that ignored from repo (in .gitignore, the same way NextJS ignore .env.local)
- Have documentation at row level not just request level.
So I ended up writing my own API client. It was challenging at first, but it has been really motivating, like building my own dream