Show HN: I created Postwoman, an online, open-source API request builder
indiehackers.com
indiehackers.com
It's an excellent tool that allows defining workspaces and even sharing sets of routes with members of your team. It's one of my favourite tools.
Thoughts?
Insomnia: doesn't really have any support for documentation stuff. It is just an HTTP client that if you share your workspace with your team, is some kind of documentation. But you cannot share this outside of your organisation.
Postman: their documentation implementation seems one of the better ones, but Postman itself just isn't very DRY. For example we have a slightly different authentication scheme which isn't supported so we had to add a simple Javascript snippet to each request, but keeping all of them updated is impossible. I personally also wasn't a big fan of their client and it's not very user-friendly imo.
Paw: honestly pretty good. I asked them a few years ago to implement this and keep me posted. They eventually implemented some documentation stuff, but it's proprietary and using a plugin to convert to RAML or something else is a pain. When I used it, it also wasn't very expansive. It also faces the same problem as Insomnia: you are not able to share it outside your team. Though it also requires everyone to buy Paw and own a Mac. I switched to Linux a few years ago and so don't use my account anymore, that I paid for.
OpenAPI/Swagger: OpenAPI itself is great, but the website GUI that Swagger converts it to is basically useless for large APIs. You cannot nest anything and it is not very good for public documentation.
RAML: I personally love this syntax the most. Though there barely is any support for it. You cannot find any mature library or application that can convert it to actual usable documentation pages. It's also honestly a big pain to write all of the documentation at once.
BlueprintAPI: this is just way too barebones. I immediately stopped using it after trying it.
There were some others I tried, none really noteworthy. It's been a while as well so it's possible that some of my opinions are out of date.
I guess it shows how little devs prioritize documentation.
I use swagger for endpoint documentation. ideally, I could just post an example from swagger into insomnia, or import basic examples.
What do you mean by "You cannot nest anything" wrt swagger?
https://www.microsoft.com/en-us/p/nightingale-rest-api-clien...
> That's why I created my own API request builder with pure JavaScript (I used Vue.js) + HTML + CSS
So... the only differences are not running this as a separate process and NIH?
It would be cool to have a tool that would: * run a very slim browser tab for each tool * I cloud load/save sites into tools (So I can really run them offline) * Could have a shortcut or a starting page that's just links to my saved tools
Maybe something like:
$ chromium-browser --disable-web-security --user-data-dir="/tmp" --kiosk https://liyasthomas.github.io/postwoman/
Unrelated, meta note: why does indiehackers need a separate interstitial splash screen, visible for ~4-5 seconds to load a simple article page?Still, this seems safer than the various extensions that have been recommended in order to disable the SOP. I'd rather the user's data wasn't on the line.
Oh nvm I'm thinking of a different service
I'm not sure why they didn't just use a commandline tool (e.g. httpie [1]) that would work with any API, rather than just those with permissive CORS headers.
[1]: https://httpie.org/
To your second point, despite years of writing Curl some times its nice to have an interface and for some people that is their personal preference.
[0]: https://blog.chromium.org/2016/08/from-chrome-apps-to-web.ht...
It probably won't work for testing of your own API endpoints for, say, a SPA, though, which is likely to have CORS. But for local testing where I control the backend, I mostly just rely on printing responses to the terminal anyway.
https://www.jetbrains.com/help/idea/http-client-in-product-c...
You just write the requests. That's it. Not much of an interface or anything.
It also supports creating requests from a cURL command (so in Chromium devtools you can copy the cURL request and then paste it in IntelliJ).
Having used Postman, Insomnia and the IntelliJ Http Client, the last one is the best out of them all.
Tried several hacks to achieve to embed files but none worked. If the endpoint supported Content-Transfer-Encoding it would be kind of easy to do.
https://stackoverflow.com/questions/16015548/tool-for-sendin...
Postman best thing is that an easy enough tool for beginners and customizable enough to be a test suite for an API. The cost of leaving the tools for it's pretty high.
I'm not affiliated with Postman in any way. But if I was, I'd already have sent a note to my lawyers to collect evidence, issue a cease and desist letter, get your project kicked off of github, and prepare for the possibility of lawsuit.
Given the nature of your project and the extreme similarity to the name "Postman", I would strongly urge you to change your project's name before you expose yourself and your family to potential financial ruin.
Second, the creator says they don't have the money right now for a domain name. You can't squeeze blood from a turnip. And they may not even live in a country that respects US trademark law.
Seems like a polite request from postman would be a good place to start.