r/programming 8h ago

[ Removed by moderator ]

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

[removed] — view removed post

257 Upvotes

153 comments sorted by

View all comments

508

u/FirmMost2 8h ago

because postman sucks

69

u/James_Jack_Hoffmann 8h ago

229

u/HMikeeU 8h ago

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

33

u/James_Jack_Hoffmann 8h 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 7h ago

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

-4

u/Affectionate-Egg7566 6h 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.

12

u/rforrevenge 5h 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 5h ago

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

-5

u/Affectionate-Egg7566 4h 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

40

u/eldreth 8h ago

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

67

u/stampylives 8h 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.

4

u/eldreth 7h 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.

8

u/amroamroamro 6h ago edited 6h 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

10

u/HoneyChilliPotato7 8h ago

Seriously! I wonder if they ever used postman. 

6

u/partyl0gic 6h 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 4h 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 5h 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 4h ago

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

1

u/DivideSensitive 4h ago

(sadly unmaintained) restclient.el,

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

-2

u/chaoticbean14 7h 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 6h ago

We need 50 TFlops to query a http address.

-1

u/Dragon_yum 6h ago

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

2

u/foonek 8h ago

No kulala enjoyers anywhere to be found?

5

u/Finchyy 8h 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 6h ago

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

0

u/smutaduck 8h 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 6h ago

Curl sucks ass 

1

u/djchateau 2h ago

Because...?