Hacker News new | ask | show | jobs
by jonfk 1594 days ago
To add another data point, I also moved on from Postman a while ago. Similarly to several commentors here I had found it to have become bloated, slow and buggy imho. In my particular use case, I found the urlencoding when using oauth1 to be pretty buggy. It would sometimes not work on certain headers it generated.

My team ended up moving to Paw but that has been a bit problematic since it only supports osx, so some team members are also using insomnia which doesn't seem to be much better in my opinion.

I recently found httpyac[1]. It's a cli and file based http client similar to the IntelliJ HTTP client, but has plugins, hooks and allows scripting through javascript blocks. It seems to have everything I need but I haven't used it much yet. It also already supports gRPC.

One of the issues I found with http clients I looked into is that they often don't provide enough functionality to hook into the request process. Either before or after a request is executed to add to the headers or parameters of the request or getting the results of the request. Postman did provide some of that but that's one area I wanted more from any client I looked at. I could of course simply wrap curl in a script but at that point, I will be maintaining my own jerryrigged version of an http client for my team.

[1]: https://httpyac.github.io/

10 comments

TIL about the intellij http client. Thank you for mentioning that. It looks awesome.blike Postman, but built-in to the IDE I have open anyway.

https://www.jetbrains.com/help/idea/http-client-in-product-c...

https://www.jetbrains.com/help/idea/exploring-http-syntax.ht...

The IntelliJ http client is absolutely brilliant. I love that using it is just editing a text file. Even if I didn't use everything else in IDEA, it would be worth it to fire up the IDE just for http scratch spaces.
Yeah I stumbled on this just the other day as well when reading about another IDE from JetBrains (I've been a paying IDEA customer for years). I'm looking forward to checking this out the next time I need to test HTTP endpoints. Postman has been decent for my needs but I always found some basic stuff to me way more difficult than it should be. The scripting in IDEA is something I'm very interested in. Postman had some of that but was more difficult that it should have been IMHO. Also I really like the idea of all my requests being text-based and something I can just commit alongside my code.
Devs at our company predominantly use IntelliJ's builtin HTTP client. I think I've only seen QA engineers use Postman because they don't have developer IDEs installed.
You can use the .http file syntax and use with both VS Code[1] and IntelliJ's HTTP client.

[1] https://marketplace.visualstudio.com/items?itemName=humao.re...

Vscode has an http_client module that's very similar to intellij's as well. Practically the only thing you've gotta change is how requests are saved to variables
Thanks, I’ve had Idea Ultimate All Products for years and never heard of this.
This is awesome, I had no idea you could do this. And with gRPC built right in!
I moved on to a system of Bash scripts checked into a company repo. Sounds silly, but it works. It's version controlled easily, you can refer to the scripts from documentation, and it's cross-platform.

Never heard of httpyac. Looks pretty nice. We've been using httpie, which works great, but it's missing nice-to-have stuff like graphql and oauth2, which I've had to build in myself.

> My team ended up moving to Paw but that has been a bit problematic since it only supports osx, so some team members are also using insomnia

One of the first things I learned working professionally is that of it’s possible you need to force all engineers to use the same OS. No one will ever agree on one Linux distro. No one wants to develop on Windows (unless you’re developing for Windows). So you should but everyone a MacBook. The time saved by reducing duplicated work in getting things working on your OS more than pays for the Apple tax. As for personal OS preference - get over it.

> One of the first things I learned working professionally is that of it’s possible you need to force all engineers to use the same OS.

Why stop there? You may also deny engineers admin access so they can't install unauthorized software alternatives to the one true path(tm). The policy is really solidified by not revising the list of blessed software for many years[1], assuring there are no support tickets, and your stack is truly 'stable'. Why let software engineers choose which software they'd like to install?

1. Eclipse is on the list, always has. Jetbrains requires skip-level approval as support is still experimental. What is VSCode? No one knows the process of adding it to the approved packages.

With your reasoning, wouldn't it be work as well to dictate a certain Linux distro?
No one will ever agree on one Linux distro
I am legitimately unsure whether or not your comment is satire of a certain kind of pointy-haired middle managers. If it is, it's very well done.
No I honestly believe it. Never worked anywhere that even has middle managers
Hoppscotch (https://hoppscotch.io/) is another one I've heard good things about.

Personally I like the VSCode REST Client best: https://marketplace.visualstudio.com/items?itemName=humao.re...

Do they have desktop client? Hoppscotch seems to be web client. How secure is it to use authtokens for our API endpoints from a website?
> some team members are also using insomnia which doesn't seem to be much better in my opinion.

In my experience Insomnia suffers from some of the same bugs that affect Postman[1], but at least they don't do the scummy things that Postman does, for example locking you out of your _personal_ Postman account if your ex employer forgets to pay their business subscription (if anyone at Postman is reading this: that's the reason I left and will never come back).

PS I swear that some time ago I saw that Paw was now available for Linux and Windows as well, but I just went to their website and it still says "exclusively built on macOS", I'm really confused now.

[1] e.g.both Postman and Insomnia break when you import multiple API keys https://swagger.io/docs/specification/authentication/api-key...

My main complaint is that it’s terrible at restoring local state. With sublime text I can just leave whatever I had opened and shut my computer down and it’ll be back to where I left it. With Postman the tabs will kind of be there but when you open one it just says it couldn’t do something or another and all the input data is gone.

I often have unsaved state because I’m testing a specific case that I don’t want to save

> One of the issues I found with http clients I looked into is that they often don't provide enough functionality to hook into the request process. Either before or after a request is executed to add to the headers or parameters of the request or getting the results of the request.

I find that httpkit (or just mitmproxy) often gives me decent insight to the actual requests.

I don't know about altering requests "in flight" - I typically re-issue the request via curl or my application server (eg: rails console or debugger breakpoint).

Strongly considering purchasing httpkit - but so far I've just needed it occasionally.

I feel like postman etc is closer to println Debugging, while just intercepting the traffic is more like using a real debugger. But I guess I can see why some like postman etc for exploration - so far i prefer swagger for that (or soapui for xml/soap - preferably running soapui under httpkit for the best of both worlds).

https://httptoolkit.tech/

Thanks for sharing. Is the code for httpyac anywhere? I can only find the repo for the docs. I'm trying to check it out, but I encountered some errors when trying it add it as a global with yarn because I'm running a node version greater v14. The extension also gave me a deprecation warning about Buffer() usage.
Here is the github repo for httpyac [1]. Not sure why it's not part of the httpyac org that hosts the site.

[1] https://github.com/AnWeber/httpyac

Thanks for that! Sorry, I was in a bit of a hurry earlier. I should've thought to check the commit authors for the site.
There certainly are plenty of Postman alternatives out there, one that I've used before is Milkman: https://github.com/warmuuh/milkman

It's built on a plugin architecture, does gRPC, GraphQL, JDBC, Ws, et.al. Other plugins allow sharing of workspaces to various services. Written in Java/JavaFX, brew or chocolatey install.

what other areas of the request process did you want to hook into?