Hacker News new | ask | show | jobs
by finitestateuni 1060 days ago
Does postman do anything curl doesn’t? When I was on onboarding at a job my pair started teaching me postman, which ended with me teaching them curl and them dropping postman. If you need to share queries, put them in version control!
8 comments

This is a very uninformed comment.

It’s like saying web browser doesn’t do anything that curl doesn’t. It’s technically true but not really.

But it’s also technically incorrect. Even on request level, not speaking about all the things on top that Postman does, Postman also does grpc and graphql (edit: and websocket), which curl doesn’t.

Once you start adding all the features, it’s very hard to replace Postman with anything.

I'm pretty sure curl does support GraphQL. It's a little weird with the formatting but it can be done.

Postman can even export a GraphQL request to a curl command.

ah you might be right.
postman was essentially built as a easy GUI version of curl. Once it went the VC route it kinda jumped the shark.
It also has useful automation for dealing with things like OAuth which would be annoying to handle manually (or to script) with curl.

In general I like Postman because of the ergonomics, not because it does something that more primordial tools can't. Makes debugging easier.

Agreed. Postman is a classic victim of "Enshittification" to try to recoup the VC money.

I prefer this VS Code plugin for the very simple stuff https://marketplace.visualstudio.com/items?itemName=humao.re...

I'm sure there's a gap for a "better postman" that's more complex that that, but a lot less encrusted than postman.

However IMHO, the more complex scripted testing is better done in your main dev language

Source: I have been working with Postman a lot this week. It's bad.

https://insomnia.rest/download

Like Postman, without all the bullshit. Which is to say, like a few-versions-ago Postman.

I'm now looking at this one: https://www.usebruno.com/

The advantage of Bruno (and the VS code plugin) that storing data in "just a file" is friendly to keeping a local copy, and also to sharing, reviewing and versioning with existing tools (git).

How does insomnia handle that?

I use this VS Code plugin https://www.thunderclient.com/
> X was essentially built as a easy GUI version of Y. Once it went the VC route it kinda jumped the shark.

Pretty much applies to a lot of startups. VC money does weird things.

Not "weird" -- that's literally the operational model of VC. It is all about increasing the valuation of the invested company, as quickly as possible, and then selling it while the evaluation is high. Once a company gets VC investment, this is the only route that matters (unless the board somehow resists the dominance of the VC shareholders, which is extremely difficult to achieve).
I have a few qualms with this app: 1. For a Linux user, you can already build such a system yourself quite trivially by getting an FTP account, mounting it locally with curlftpfs, and then using SVN or CVS on the mounted filesystem. From Windows or Mac, this FTP account could be accessed through built-in software.

2. It doesn't actually replace a USB drive. Most people I know e-mail files to themselves or host them somewhere online to be able to perform presentations, but they still carry a USB drive in case there are connectivity problems. This does not solve the connectivity issue.

3. It does not seem very "viral" or income-generating. I know this is premature at this point, but without charging users for the service, is it reasonable to expect to make money off of this?

Your first point is almost a meme at this point - so many products can be written off as pointless with the statement:

> As a [type of tech person], [product] is completely unnecessary as you can easily build a similar system yourself by simply combining [tool A] with [tool B] and [tool C]. It's so simple!

I'm not disagreeing with your point, but it misses the point that often the benefit of using a particular product is that you don't have to build it yourself, not to mention the other benefits you could get from using the exact same system as somebody else (e.g. sharing Postman collections).

My comment is actually from the dropbox announcement many years ago. It actually is a meme. lol
Has this sarcastic rejoinder actually held up, though?

"Dropbox’s stock falls as it struggles to squeeze more revenue from existing customers" - https://siliconangle.com/2023/02/16/dropboxs-stock-falls-str...

Given the comment was made 16 years ago, I think so.
16 years ago it was plausible to say Dropbox was going to be a massive success in the future. Now we're in the future we know it wasn't.
Classic HN response–"This is trivial to build"/"I could build this in a weekend".

Setting valuation aside, clearly there is some non-negative value prop for some set of users who don't want to build everything themselves (as evidenced by the fact that they have a non-trivial number of paying users).

This is a meme from the dropbox announcement.
lol. /r/woosh on me. In calling out the meme, I became another meme.

"I am become pedant, destroyer of discourse."

haha. All good.

Here's the comment if you're curious.

https://news.ycombinator.com/item?id=9224

> Does postman do anything curl doesn’t?

Yes! It's supports functional BDD-style tests, "mock servers" (really "fake" servers), a walled garden for saving and sharing data (to frustrate engineering managers and ops folks), perf tests (soon? now?), contract testing, and more. Did I mention that it's a GUI tool, so it must be "easier?"

They're trying to become a one-stop-shop for dumbing down web dev. Ideally, inside the walled garden. That has a certain appeal to management.

The contract testing is something I didn’t know about, I’ll have to look into it!

We have lots of unit, integration, and live canary testing, the postman usage was only during oncall/operations, so we weren’t using any of those neat features.

I like that they let me run same set of APIs against different environments.

Also I can stitch together different APIs by taking response from one API and pass it as request to other APIs. For instance I invoke login API, grab session ID from the response and pass it to other APIs which are behind login.

Of course one could do all of this in curl but it’ll be cumbersome. And yes, if all you want to do is invoke a single API then Postman is definitely an overkill.

> Does postman do anything curl doesn’t

Yes, a cursory examination of postman would tell you that.

Does curl support websockets?

It might, but I think the appeal of Postman is how straightforward it is to play with APIs across basically anything in the HTTP stack, with a nice GUI. Also, I thought Postman also had the ability to export your queries to curl if you want to need to use it outside Postman.

It does, but the support is not great. There’s active work to make it better. We don’t use WebSockets so that might be why my colleagues didn’t have too much attachment to postman. We have a list of bash functions we import into our zshrc/bashrc that just wrap around curl with some parts pre-filled and automatically grabbed creds from ENV as needed. It’s a better workflow since you don’t need to switch applications and you can chain calls together with some glue.
Queries might have secrets. Maybe neither tool is appropriate for that. Reminds me of the acorn about Dropbox is just an smb share.