144 comments

[ 12.6 ms ] story [ 4061 ms ] thread
I auditioned about 10 different Chrome/Firefox extensions to send HTTP requests and this was by far the best one. It's clean, simple to use, and handles auth really well.
Do you remember your favorite for firefox? I have never found one that I was very happy with.
I have tried RestEasy with FF and found it to be good.
I've been using Postman for quite a while now and it's really handy. You can save requests in collections so you can rerun the same requests for testing purposes. It's great if you're deving a REST API and need a simple client for basic testing.
It's also great for sharing collections of API calls as a sort of live demo.
Super useful for testing web-apps for vulnerabilities
And let's not forget is the only one I've seen that automatically remembers cookies, very very handy.
the only flaw it's you can't see size of request without using chrome tab
I know i am missing something here....but how on earth do you launch this?
Seriously, it's a pain in the ass. Click the apps launcher in the upper left of the Chrome start page.
Ah much appreciated, i never would have found that.
You can always bring a list of apps up by entering 'chrome://apps' in the url bar.
I'm glad to know I'm not the only person who struggled with this.
you are not. I'm quite sure this used to be easier.
Add it to your favorites bar and then it will be much easier for you to launch it without going to the play store !
Upper left just below the Forward and Back buttons is an Apps button.

Most people don't seem to see it as anything more than a bookmark. I searched the menus for it and did not find it. And it was sitting right there.

Chrome used to take you to the apps page on a new tab by default, which was really convenient. Several releases ago they replaced that default with an utterly redundant search bar on new tab pages for reasons I can't begin to understand. Anyway, you can just go to chrome://apps and bookmark that page.
I've been using Postman for a while. Overall, very impressed as it was intuitive straight from the first use. However, when putting files in a post request, it doesn't remember the files for you. Also, there is no way to stop an ongoing request besides resetting and clearing all the parameters. I really hope they would accommodate these options in the future.
There is now a new Chrome API which can help remember files. Looking into it right now.
I use both postman and restconsole alternatively for testing our JSON API. Wrapped in with the console open to the Network, it's indispensable.
I've been using Postman pretty much every day for the past couple of years. It's a really handy tool for testing out APIs in particular which is primarily what I use it for. It's definitely worth upgrading your package and I think the developer well deserves it.
I've used Postman for a while and it is great for those trying to understand integrating with web apis. The ability to save requests in a namespace is invaluable.
I prefer cli tools for api driving/testing, and httpie[1] works pretty well for that.

[1]: https://github.com/jkbr/httpie

I like httpie but the app can do a lot more than sending requests now (which you might not be able to do in a CLI tool). You can write tests and run a bunch of requests together to simulate different scenarios: http://www.getpostman.com/docs/jetpacks_writing_tests.
Then throw HTTPie into a bash script.
There are lots of things that you can do easily with postman but would be difficult with a CLI tool.
I doubt that completely, citation needed.
I agree that CLI are awesome and you can do way more using it that with any other UI (specially a web one), but taking HTTP API testing as an example, postman lets you do a bunch of stuff that are so simple with one click that I can see some people not wanting to dive in the CLI world, write a bunch of stuff and also having to store environment data for requests with extra files (I think thats where the 'difficult' from the previous comment comes along, but that's just me guessing...)

Taking that into consideration, Postman's web interface lets you

- See all the request history that you can easily reply any of them with one click

- Save requests and share them (including a collection of requests)

- Have and share environment variables to change, for example, between production and development API urls, password, params, etc (I know, a CLI also lets you do that, but it soooo simple to just select and preview the environment variables from the list)

- easily handle oAuth and other authentication forms out of the box

But you will suffer (a lot) trying to use Postman to - Handle binary input/outputs

- Stream responses

- Handle cookies

So, depending on what your day to day problems are you should use a different tool... Oh, and I didn't know about HTTPie, thanks for sharing :)

None of those things are intractable, I have had scripts handle them all. On top of that, writing scripts educates you on how such systems work. It really isn't challenging.
Sure. I can script a lot of things and have learned a ton by doing that. But when I'm focused on making an API or debugging one, I don't want to spend the time writing a script if there is a readily available tool that does what I need. I can better spend the time improving the app.
Care to share them? It sounds like a lot of people would like to use them instead of Postman.
I find your response to be really arrogant. Postman is an easily installed Chrome extension that can be supplied to everyone on your team, regardless of skill level. Requiring a cli isn't as easy as a one click install - there's dependencies (Python etc.) that are required which, while easy for many, aren't as simple for a lot of web developers - especially those who focus on front end development and may just need an easy tool for inspecting API requests they need to make.

There's still a wide market for GUI based programs, and Postman is an excellent extension that I've used for years (even though I'm a CLI guy myself). It's always there, easy to use, and powerful to boot.

Edit 1: Grammar / Spelling

Totally agreed. Another benefit (or set of benefits): when you've got 5 CLI tabs open already, and you're trying to remember where your curl response went, it's nice to know Postman has (a) history of recent requests in a readily clickable list, (b) a different window that's easily accessible, and (c) any saved headers and tokens that I can otherwise never remember.
Like Tesla said "if you thought a bit more, you wouldn't have to sweat so much"

All of those would be eliminated with preparation and planning. And the results would be better quality than ad hoc poking with Bash

Yeah, if we all prepared and planned perfectly for absolutely everything we do in life then we probably would need less assistance.

Meanwhile, in the real world, sometimes things have to be done fast and messily.

(comment deleted)
you didn't answer the question.

> There are lots of things that you can do easily with postman but would be difficult with a CLI tool.

the jury is still out on this one. i'm not buying it now either. you've convinced me Postman is easier for non-technical people, but i'm not convinced it's more useful or easier than a command line.

(comment deleted)
I can't use postman easily. I don't have a Google account. What do I do?
You don't need one? Install the add on directly.
Everyone can use it easily. It's an easy tool to use. You don't need a Google account to install an extension.

> What do I do?

Install the extension and use postman easily.

Uhh how about a little more detail? I installed it, but I have no idea how to open it in a tab. Unlike my other extensions, I don't see any icon buttons next to my URL bar.

EDIT: If like me, you're using a Mac, you can use Alfred to open Postman. I still have no idea where to find the extension (I have both the extension and the "packaged app", whatever the difference is, installed on my machine)

Hmmm, I don't know. When I install it on Windows Chrome, I immediately get an icon next to the URL bar. Sorry I can't be of more help.
I know that there is nothing that an add-in can do that a scripting environment can't and it is not a that difficult, which is the assertion I am responding to. Sooner or later the dialog box driven tool will prevent you from doing what you want.

I would still like an example of a series of Http:// requests that is "difficult" to do with just curl, wget and a bit of shell script.

Curl is my go to tool for this sort of interaction. I have been a long time Postman user though. The number one feature it has which curl doesn't is collections. Which is basically their name for saving queries. I have my companies entire API saved in various collections which allows me to quickly do any API call without looking at documentation or having to whip up so JSON boilerplate.

For more advanced or one off testing, curl would still be my go to.

I have a "collection" of curl command lines aliased in my ~/.bash_aliases file. Maybe something like that would help you?
(comment deleted)
Chrome dev tools make testing RESTful backends with curl very easy: right-click on a request in network panel and choose "Copy as curl". Priceless little gem.
postman turned real useful for me while getting some jira rest stuff to work
Super useful. It's nice that you can set auth parameters (basic/digest/oauth1&2) and headers easily.

I use it as a packaged app, so launching it is the same as it is for native stuff.

I use Rested, it's a simple, cheap, mac app and works great. http://www.helloresolven.com/portfolio/rested/

EDIT: Why the hell was I downvoted for suggesting a good app? goddammit...

probably because your suggesting a paid app to solve a problem that is well solved by free ones
Also a Mac app when the original app works across platforms
I would say an app for chrome is just as accessible as an app for mac.
Chrome can be quickly installed (free) on all platforms. If I don't have a Mac, which I don't, how would I install this Mac application?
Not sure but potentially because your comment is a bit tangential.... If you anchor your recommendation to Postman in some way then it may make a stronger statement and/or take the conversation in an interesting direction?

Can you tell us how Rested compares with Postman in terms of features and any pros/cons you found?

In addition to the other suggestions, there is also the usual suspects:

  * fat fingered an upvote
  * vote ring detection evasion bot randomly selected you
    for an upvote
This looks great! Thanks a lot for the recommendation, I'm going to buy it now. Postman also looks good so installed that too!

(I think your comment was fine - it serves a similar purpose so if people are interested in this thread there is a good chance [like me] they might be interested in this too.)

I'll recommend Postman to anyone any day. I make a ton of API's and it's the best tool for testing them.
I love postman but am not a fan of the just slightly weird behavior of chrome apps.
Would be perfect if it can stop being a chrome packaged app though. The window switching in OS X makes it really hard for me to get to it when I have a chrome window open at the same time.

I wish it could be wrapped in a native app or even just let it run in a chrome tab.

Believe it or not, Postman was better (used to run inside a tab instead of its own window)

Edit: here it is, both the extension (tab) and the packaged app (window): https://chrome.google.com/webstore/search/postman?hl=en

Yes, I know about that POSTMAN used to run inside a tab, but it seems to have been abandoned for quite some time. I still have it installed, but it still telling to to 'upgrade' to the packaged app.

That Postman extension that you linked, I actually didn't know about this before, but that doesn't seems like something provided by the original developer. Any idea whats the story behind it? EDIT: Nevermind, just Googled the domain. Its the same developer.

The earlier app ran as a "legacy" Chrome app. Chrome has deprecated those style of apps and it's not accepting new submissions for legacy apps. I can only push updates now. The newer style Chrome apps run in a sandbox and have access to better APIs. This allows Postman to have features like collection runner, test scripts, OAuth 2 etc. Unfortunately, window management is a bit screwed up and am hoping support improves there from Chrome's side.
Command + backtick will help in those cases. :)
Yes, but for me, most of the time it's more of a Cmd+Tab to Chrome from my iTerm or ST, and then Cmd+` several times to finally find it.

And when you do it hundreds of times, it gets seriously tedious.

How many monitors/desktops are you running? Have you thought about increasing it?

I have 6 desktops running on 2 physical monitors and keep windowed things easily accessible. Nothing more than two swipes away.

Yeah I know that feeling. Thankfully, virtual desktops + 3 monitors has fixed that for the most part, but that's not always usable in some circumstances. I only posted that, as I only found out about it a month ago myself

The other thing I've done (with Zed in particular) is put the icon for the packaged app into my dock, so I can get to it quickly from anywhere. Of course, this becomes unwieldy if you have a lot of them in there!

Zed is also packaged as a standalone app now.
What behavior are you looking for? I noticed that recently (maybe with a Chrome update?) that packaged apps run/show up as independent apps in the OS X task switcher.
Trying to improve Cmd + Tab behavior on all platforms. This is really a Chrome issue and am waiting for improvements in the platform.
Packaged apps can make requests without being subject to the normal XHR security rules (e.g. no Cross-Origin request problems), among other features like native TCP/UDP sockets.
If you're looking for something with a lot of great features for in a web app that you can leave running in a tab check out our product: www.runscope.com It's great for recording http calls, editing and retrying and sharing. Plus we've got test suites and can import your Postaman collections to help get you started!
Slightly off topic but look into witch (http://manytricks.com/witch/) for better OSX window switching. I have alt+tab configured to switch between windows on the current desktop that aren't hidden.
love this tool!! indispensible if you are working with a REST api, or even debugging SOAP responses
Postman works great. The only feature I would like to see added is to somehow easilu swap a base URL in requests. So I have to maintain just one collection per API and not multiple collections for multiple API deployments (production, testing, staging).
You can do this by using the environments feature. Create an environment and add a key to that environment to represent the base URL. Then in the the URL line replace your base URL with the reference to the key. For example http://{{base-url}}/api/
Aha. I thought environments could only be used for setting additional HTTP headers! Thanks for this.
Also would take a look at SoapUI if you are dealing with multi step flows:

http://www.soapui.org

Perhaps the worst software I have ever used.
maybe for REST, but seriously, if you ever need to test SOAP services - I hope you don't - this is probably the best there is..
Yes I was in need of that when I tried it. And I still gave up.
Our current testing utilities are relatively small and compile with modest amounts of RAM. Hobbit's netcat, WR Stevens' sock, etc.

We have security auditing rules that require us to compile the programs we run from source. We prefer small programs as they are easier to audit.

Does anyone know how much RAM is required to compile Chromium?

Can it be done on a laptop?

Do you have to compile everything from source, e.g. gcc, glibc, etc? There is no need to get into the whole "reflections on trusting trust" spiel, but I imagine at some point you must rely on your distro? Just use the chromium package from your distro. If not why not build on a desktop/server and copy package to laptop?
I would not recommend that. I compiled Chromium a few month ago with my i7 desktop with 8gig ram and it took at least an hour to finish, if not longer. I don't think RAM is that much of an issue, but I wouldn't go lower than at least 4gig of RAM.
I switched to Postman because it supports attaching files to make multipart request, which the RestClient does not.
Thanks for the great comments everyone. Postman developer here. Woke up to find the link at the top of HN. Feels awesome. :)
Thanks for the great tool.

First I thought "Damn, that's no news. I use it for ages ...", but some things are worth to be reminded of from time to time.

Haha. You are welcome!
It has been part of my developer toolkit for a year and I absolutely love it! I hope we can see OAuth2 auth sometime soon :)
Thanks for your effort; the tool is fantastic! We use it every day for working with API's.
Great job! Really useful tool.

On a side note, it's interesting how, though you posted postman on HN a couple of times before, it hit the front page only now.

Thanks for that great tool! You're my firebug for API's.
Thanks for the great tool. I use it daily at the moment. Gotten much better over the last few months as well.
I love Postman. It came in very handy when I was starting to develop some web apps that use POST JSON packets. Although I've since developed some cURL scripts to do equivalent tasks from the command line, I find Postman's features to still be very handy, especially history, auto-complete, and the handy GUI visual approach. Both Postman and cURL are essential tools to my work. Thanks for providing this great tool!