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!
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.
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.
> 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.
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)
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.
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 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.
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.
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?
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 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.
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.
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.
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.
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!
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.
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.
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.
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!
{ Full disclosure, I'm the author of WCFStorm.Rest }
If you're on Windows and is looking for an alternative, check out wcfstorm.rest (http://www.wcfstorm.com/wcf/learn-more-rest.aspx). It has a lot features similar to postman and adds some more, like saving requests and responses into functional test cases which includes a showing a graphical "diff" between the actual and expected responses as well as being to define custom validation rules that is executed against the http response. It can also do a single load test as well a distributed load test using several machines (http://www.wcfstorm.com/wcf/how-to--distributed-performance-...)
WcfStorm.Rest is a paid software but it has a LITE version which is available for free and works well for ad-hoc testing and exploring REST API endpoints.
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.
POSTman is an awesome testing tool and also a great way to document APIs to share within a team. I wish it had support for storing information in responses as variables for use in later requests. I currently use globals within environments to set things that rarely change like API keys and secret but it doesn't work for things that change in every invocation for eg., it would be nice if I can save the access token of an oath call in $token and then refer only to $token in other protected resources.
I use Simple REST Client for Chrome. This might have a few extra features, though, so guess I'll try it out. Seems like a common, over served extension idea, though.
We've been using Postman for a while now, it's invaluable for testing/validating APIs across our environments. One feature we've been waiting a long time for however is live collection sharing; to have a centralized set of endpoints/etc that's kept updated and synchronized (without needing everyone to export and import JSON files). There's a feature request on GitHub but it's been in stasis for a long time now.
Will have something which will solve this and much more very soon. I tried different alternatives (Drive/Dropbox) but none of them fit the amount of flexibility I wanted to have with collections.
Interesting, I'll have a look into whether that's possible with the current client (my understanding was that Collections don't detect or update changes unless you explicitly make any yourself). Still, ideally this is something that'd be very handy to have as a core feature within the app (author has looked into Google Drive integration in the past)
I've been using it for quite a while now. I'm ashamed to say that it's simplistic approach on collections often made me question the urgency of writing API documentation when developing a private API. Why not just send the collection of examples? Well, we all know why but still...
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/
If you have to fiddle with the command line, you're doing it wrong.
It drives us nuts in the Plan9 community that Bash history and readline is seen as some sort of productivity tool. We have powerful shell primitives but the command line is seen as the last resort of composing them. Admittedly we have a terminal window with which you can edit text in two dimensions but use a proper set of tools with a bit of forethought and you get much more done.
If you need an oauth client, write one with a few bits of script and use it everywhere. It's the Unix way.
> It drives us nuts in the Plan9 community that Bash history and readline is seen as some sort of productivity tool.
I don't understand what this means, can you explain?
I personally have a .bash_profile (more generally, a collection of dot files) in a git repo that I share between machines. I also find myself using Meta-. and CTRL-R quite frequently.
Postman is an amazingly productive way to test or explore an API. It's a cheap win to export a request collection, and stick it in version control to capture the known state of an API at a point in time.
I tried postman and found it rather weird.
What did not suit me:
problems with remembering history - i'd expect the much labored-at settings and vars and options to be stored in the cloud and not vanish if I re-install the extension or use other machine.
no custom cookies - that's a deal breaker.
I prefer the excellent Fiddler tool for manual fiddling, and yet have to find a good test-suit tool. Or write it myself...
I regularly use SoapUI for standing up mock services of 3rd party web services and any time a web service needs something WS-Security related. That said, I find it clunkier than I'd prefer and I use https://chrome.google.com/webstore/detail/wizdler/oebpmncolm... any time I just need a quick request envelope for some WSDL.
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.
Postman is an awesome tool. If your intereseted in a php library to go a bit further and curl urls and expect certain json response bodies, headers, and status codes, check out https://github.com/commando/dogpatch.
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.
Postman is exactly what I have been looking for. I used Fiddler for years and always thought it to be heavy and awkward to use. It's strange I never heard about Postman before this post.
I like working out of the browser and Postman has just the right amount of features I need.
It's a great tool, we use it all the time on our team. It's the easiest way I've found to share a full demonstration of the API all in one go, with documentation. Couldn't live without it now!
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 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.
While I have issues with a lot of services Google provides I think Chrome is safe to use here. I don't think they're capturing your communication using Chrome (you could easily find out using Wireshark). They do in many other ways, though.
Chrome is proprietary, use Chromium instead. If they aren't doing bad stuff today, they might implement bad stuff tomorrow and automatically push that update to you. You can't turn of updates in your browser, you have to edit the configuration file for the autoupdater. I prefer any Firefox or any Mozilla based browser, but that is just personal preference.