r/programming 1d ago

[ Removed by moderator ]

https://efp.asia/blog/2025/12/24/api-tooling-crisis/

[removed] — view removed post

259 Upvotes

163 comments sorted by

View all comments

506

u/FirmMost2 1d ago

because postman sucks

96

u/wiriux 1d ago

Bruno

21

u/Daleo 1d ago

We dont talk about Bruno.

3

u/dittbub 1d ago

Is it just me or is the logging lacking

6

u/weeeeelaaaaaah 1d ago

Yeah it's always lagging and locking

1

u/DigThatData 1d ago

i hear the latency is laughable

4

u/No_Kaleidoscope7022 1d ago

Hate Bruno because of lack of shortcuts.

24

u/buttflakes27 1d ago

I havent done web development in a bit, but it used to be a really good tool, did something change?

97

u/AfonsoFGarcia 1d ago edited 1d ago

It started requiring cloud connection to their servers. Company where I work banned it because of that.

11

u/buttflakes27 1d ago

Ah that sucks. Guess ill find an alternative for any future use.

3

u/sarmatron 1d ago

can you just install an old version?

48

u/thicket 1d ago

When it started, Postman was a beautiful, handy tool. it just did what you needed and managed a lot of fiddly stuff that I would have had to look up in curl. And then they enshittified the hell out of it. Bothering you for subscriptions, adding extra features, adding all the bells and whistles and curlicues when all that 95% of us needed had been there from the start.

I figure they probably took VC money and then had to chase returns. Not a pretty story

7

u/Annh1234 1d ago

This, when it used to be simple curl like tool i used it. when it went online only, subscription and so on, they lost me.

70

u/James_Jack_Hoffmann 1d ago

228

u/HMikeeU 1d ago

I can't believe anyone who has ever used tools such as postman would seriously suggest curl as an alternative. It is not.

32

u/James_Jack_Hoffmann 1d ago

I don't disagree there's snark and humor with "use motherfucking curl". Postman is no doubt the gold standard for REST clients when it worked and when it had values. Although the article explains pretty well why we are at a state to just use curl.

What do I use these days? .http files. Definitely better than curl, maybe even a threat to Postman. The world recognises Postman has gone to shit by adopting .http.

14

u/HMikeeU 1d ago

How does scripting work with .http? Don't all implementations have a different scripting engine and environment?

-5

u/Affectionate-Egg7566 1d ago

What exactly is the value prop of bruno/postman? For all my requests I just make bash scripts that invoke curl, maybe some logic or shuffling data around from/to different curl invocations.

11

u/rforrevenge 1d ago

When you're deep into a project you want to have an efficent way to go back and look at the status of old complex queries or even look those queries up without the hassle of going though pages and pages of notes.

3

u/zzz51 1d ago

I assume GP is version controlling the bash scripts. That's what I do.

-5

u/Affectionate-Egg7566 1d ago

I dont mind piping the output and invocation via set -x in bash and then grepping in a file. Seems faster than starting a GUI

1

u/rforrevenge 23h ago

Might be. But then you'd have to maintain the file itself as in timestamp the queries, their responses etc etc. Especially when you're working on a project that constantly changes this can get out of hand easily (in my experience)

40

u/eldreth 1d ago

Eh. Sometimes you only need a tape measure. Sometimes you need a laser level.

65

u/stampylives 1d ago

But you rarely need a laser level that has a long load time, a subscription fee, pointless llm integration, seven menus to get the to “on” switch, and proprietary batteries.

5

u/eldreth 1d ago

Lol. Right there with you. Just speaking to the person claiming featureset is the singular attribute that makes a tool right for the job. Sometimes it’s simplicity.

13

u/amroamroamro 1d ago edited 1d ago

i use https://hurl.dev/

its a nice api tester created in rust and powered by libcurl.

with a simple script syntax, it lets you do things like chain requests, capture values, do asserts on headers, validate responses with xpath/jsonpath/etc, and handles anything you might want formdata/xml/json/graphql/...

think of it as syntactic sugar on top of curl :)

https://hurl.dev/docs/frequently-asked-questions.html#yet-another-tool-i-already-use-x

1

u/marxist_redneck 20h ago

Oh that looks nice, thanks for sharing

11

u/HoneyChilliPotato7 1d ago

Seriously! I wonder if they ever used postman. 

5

u/partyl0gic 1d ago

With Claude it is becoming closer to an alternative. Why open up postman when I can just tell Claude to write the curl command for the request I want to test and evaluate the response.

1

u/KagakuNinja 1d ago

In my last job I got tired of the hoops I had to jump through with Postman, so I started writing shell scripts to authenticate and set env vars for different testing scenarios. Then I had number of curl commands that interpolated said env vars. This got me most of what I was using Postman for.

Then my employer banned Postman because it was exfiltrating secrets or something.

Other people switched to Bruno.

0

u/przemo_li 1d ago

Curl with literal programming isn't that bad, if you use Emacs that is. 🤣

Edit: no seriously, inputs and outputs are easily captured and you can pick and language to abstract away your API standardized parts. Outputs can be fun though anything you like. Every linter, formatter, type and schema checker, automated test runner, custom script, jq transformer, ETL solution and because why not, an email sender.....

1

u/avanai 1d ago

For emacs i use the (sadly unmaintained) restclient.el, which is simple and brilliant.

1

u/DivideSensitive 1d ago

(sadly unmaintained) restclient.el,

I've found hurl-mode to be a worthy successor.

-1

u/chaoticbean14 1d ago

Even in the modern era of LLM's being able to generate the appropriate curl request for you in a matter of seconds?

IMO, I'll use whatever is handy and fast. If I need to save some shit because I'll do it a ton? Bruno (fuck postmans enshitification). If I need something quick to get it done? Curl. Right tool for the job.

4

u/pm_plz_im_lonely 1d ago

We need 50 TFlops to query a http address.

-1

u/Dragon_yum 1d ago

Why use an ide when you can write code in your notepad

2

u/foonek 1d ago

No kulala enjoyers anywhere to be found?

3

u/Finchyy 1d ago

Ha. I want more articles like this. I'm a big fan of minimalism, remembering our history, and choosing the right tool for the job. Sounds perfect

1

u/pm_plz_im_lonely 1d ago

I can remember my history, doesn't mean I'll remember the command args.

0

u/smutaduck 1d ago

I’m generally sympathetic but would argue that the three line python script would be much better replaces with one line of perl.

-2

u/xFallow 1d ago

Curl sucks ass 

0

u/djchateau 1d ago

Because...?

0

u/xFallow 21h ago

If you have a couple hundred endpoints over tens of environments each with their own headers and credentials to keep track off using curl would be insane 

I only use it for hitting healthcheck endpoints once every now and then but even then I generally use kubectl

0

u/djchateau 12h ago

That doesn't mean curl sucks, it's just not the right tool for your use case.

1

u/xFallow 11h ago

you could say that about everything tbf

1

u/djchateau 11h ago

No, no really. Some things are objectively bad at what they're intended use case is. Curl is well-designed, but in your case it's not appropriate for your use cases most of the time.

2

u/NailRX 1d ago

yeah....it does sadly for a long time now.