Personally using Nightingale when on Windows and couldn't be happier. I don't need or want another electron app running on my machine and currently all the cool kids in the space of API clients seem to be using just that, including Insomnia.
I installed this yesterday after having a strange issue with Postman eating an environment variable and spitting out an undefined request body. Surely a small issue, but really enjoying insomnia since. I'm also writing some automated tests that work mostly in http requests, but also do some grey box setup / inspection (of the queue, database, pre-create an account, etc). It got me thinking, it would be great to be able to mix that test logic with requests and use insomnia (or something like it) as a gui for test writing / debugging (when I can stay at a high level). I'm sure this is being done in many ways now, so I"m eager to research it a bit more when I can afford the time.
Can you comment on the I/O of documentation from it? Ie, I hate how Postman and friends want to be the nexus / saas of my products API documentation. I want to work with something in a common format, like OpenAPI, RAML or BlueprintAPI. These HTTP clients are nice, but I want them to be a tool, not required.
I've used them all: Postman, Insomnia, Paw, and other online web apps. Unfortunately none come close to being usable for large APIs imo. Some of the problems I faced off the top of my head (it's almost 2 years ago now since I tried them all though, but I haven't seen much change to be honest):
Insomnia: doesn't really have any support for documentation stuff. It is just an HTTP client that if you share your workspace with your team, is some kind of documentation. But you cannot share this outside of your organisation.
Postman: their documentation implementation seems one of the better ones, but Postman itself just isn't very DRY. For example we have a slightly different authentication scheme which isn't supported so we had to add a simple Javascript snippet to each request, but keeping all of them updated is impossible. I personally also wasn't a big fan of their client and it's not very user-friendly imo.
Paw: honestly pretty good. I asked them a few years ago to implement this and keep me posted. They eventually implemented some documentation stuff, but it's proprietary and using a plugin to convert to RAML or something else is a pain. When I used it, it also wasn't very expansive. It also faces the same problem as Insomnia: you are not able to share it outside your team. Though it also requires everyone to buy Paw and own a Mac. I switched to Linux a few years ago and so don't use my account anymore, that I paid for.
OpenAPI/Swagger: OpenAPI itself is great, but the website GUI that Swagger converts it to is basically useless for large APIs. You cannot nest anything and it is not very good for public documentation.
RAML: I personally love this syntax the most. Though there barely is any support for it. You cannot find any mature library or application that can convert it to actual usable documentation pages. It's also honestly a big pain to write all of the documentation at once.
BlueprintAPI: this is just way too barebones. I immediately stopped using it after trying it.
There were some others I tried, none really noteworthy. It's been a while as well so it's possible that some of my opinions are out of date.
Not sure about open source projects, but in corporate settings it is often driven by short term thinking in priorities, sometimes driven by short term incentives that reward features over usability/support.
I really like how insomnia / postman let you collapse objects. It helps keep everything neat when poking around the data returned. I didnt see the ability to do this with postwoman
I never knew this existed, thanks! After looking for a Postman alternative (Due to Electron) I took a look at Paw and I am really enjoying using it on my MacBook and replaced Postman with Paw.
Paw has excellent features and native support. Totally loved it. I regularly use it and never ever thought for any alternative. The best feature I love is sharing request with private url .
Yes, it supports plugins, one of which can import Postman Collections. There is also a plugin for exporting Postman Collections in case you work with people who use Postman.
Presumably lower memory usage due to not running in a separate process. On a low-end PC this is a completely valid concern. Chrome is memory hungry. Running one instance might be viable. Running 2, 3 or 6 probably isn't (and you can always choose a less memory-hungry browser).
It makes me question, is there any way to run a slim browser for these kind of tools?
It would be cool to have a tool that would:
* run a very slim browser tab for each tool
* I cloud load/save sites into tools (So I can really run them offline)
* Could have a shortcut or a starting page that's just links to my saved tools
Considering this tool uses JavaScript rendering, I'm not sure you could get away with a "slim browser". You're going to need all the bloat that makes CSR work.
Saw this on Hacker News a short while back and it was pretty easy to set up. Might be pretty close to what you're looking for. It aims to be a sort of a replacement for what Electron does, without embedding a full browser.
It seems the user created this because they thought that Postman required too many resources as an Electron app.
I'm not sure why they didn't just use a commandline tool (e.g. httpie [1]) that would work with any API, rather than just those with permissive CORS headers.
So Postman used to be a lightweight Chrome plugin. Then its developers turned it into an electron app with lots and lots and lots of features. They did this as a vehicle to begin offering paid features and enterprise plans.
To your second point, despite years of writing Curl some times its nice to have an interface and for some people that is their personal preference.
Yes, indeed. Sort of defeats the point of Postwoman being more performant..
Still, this seems safer than the various extensions that have been recommended in order to disable the SOP. I'd rather the user's data wasn't on the line.
I use Postman a fair bit, and looking through my history it's mostly playing with 3rd party APIs to see what format they return and how they respond to query params and such. So it works for that purpose, since those generally won't have CORS restrictions.
It probably won't work for testing of your own API endpoints for, say, a SPA, though, which is likely to have CORS. But for local testing where I control the backend, I mostly just rely on printing responses to the terminal anyway.
This is also what I use. Others mention insomnia, but it does not support testing responses (validating them) with a script.
With the Http Client in IntelliJ you can do that, as well as with Postman.
But with Postman you need to import/export everything and put it into you projects, so you can check it in with your source code.
Using IntelliJ you don't need to do that anymore too.
Having used Postman, Insomnia and the IntelliJ Http Client, the last one is the best out of them all.
Navigating to the site[1] and asking me to install it on my Chrome browser without providing any relevant information is a big security no-no. I think the developer should have provided more information on the product and link to a trustworthy site where the binaries could be verified and added (safely) into the browser.
Hm, web based so defeated by CORS (plus privacy issues unless you install it on your own server, but then Postman itself is closed source …). Fortunately there's an Emacs package for this =P http://emacsrocks.com/e15.html
Opening the link I was hoping that this would be a postman with better support for file uploads. I have a long lived desired to be able to have postman request which embeds a file to upload. I really like postman features and UX but when I need a test suite for a file upload endpoint it doesn't match.
Tried several hacks to achieve to embed files but none worked. If the endpoint supported Content-Transfer-Encoding it would be kind of easy to do.
In my opinion that would defeat the purpose of the tool. I like to have a postman suite file that I can share... using other tools and integrations would kind of break that.
Postman best thing is that an easy enough tool for beginners and customizable enough to be a test suite for an API. The cost of leaving the tools for it's pretty high.
That's a neat side project, and I like the idea of having a quick website I can go for testing quick requests rather than having to open a full-fledged app.
If you're already in VS Code I prefer the rest extension as well. It's great for making quick one-off calls but is a little under-powered for organizing larger sets of endpoints, credentials, etc
Great, You can host your open source API on www.inventrust.com as well. This is a blockchain enabled, collaborative Exchange for Trusted software code.
Is it any safer than pasting your auth tokens into a standalone application like Postman? That can just as easily send that information somewhere else, but now you can't press F12, get a network tab, and look at outgoing requests.
You actually can press CTRL+SHIFT+i to open dev tools in Postman. It is just electron after all. Also even if it were some other UI toolkit you could view the network requests via Fiddler/Wireshark/etc.
FYI, only requests made with the XHR/Fetch APIs in Electron apps show up in the console. Insomnia (I am the maintainer) uses libcurl to send requests, which do not appear in the console. The NodeJS http/https APIs also do not.
Can you please elaborate on what you mean by time-boxing and how you achieve it? I'm assuming it means to assign a time scope to a key and then revoke it's access outside of that time period. This would require access to the API authentication methods, correct? Otherwise, for API's that you don't have backend access to (e.g., GitHub API) you should just generate a token for testing and manually delete it when you are done?
They mean to assign an expiration date to your tokens. Then when you're done testing, still revoke the token, even if you haven't reached the expiration date.
This breaks the Show HN guidelines badly, and the site guidelines too. Would you please follow the rules when posting here? We're trying to avoid degraded discussion where possible.
I did not mean to come about as cynical, I simply do not understand this mindset. If you identified a problem, why not fix it? Why keep on making the same decision with the same deterministic outcome?
Here is the definition of trademark infringement directly from USPTO [1]: "Trademark infringement is the unauthorized use of a trademark or service mark on or in connection with goods and/or services in a manner that is likely to cause confusion, deception, or mistake about the source of the goods and/or services."
I'm not affiliated with Postman in any way. But if I was, I'd already have sent a note to my lawyers to collect evidence, issue a cease and desist letter, get your project kicked off of github, and prepare for the possibility of lawsuit.
Given the nature of your project and the extreme similarity to the name "Postman", I would strongly urge you to change your project's name before you expose yourself and your family to potential financial ruin.
First, doesn't even look like it's a commercial product.
Second, the creator says they don't have the money right now for a domain name. You can't squeeze blood from a turnip. And they may not even live in a country that respects US trademark law.
Seems like a polite request from postman would be a good place to start.
https://insomnia.rest/
It's an excellent tool that allows defining workspaces and even sharing sets of routes with members of your team. It's one of my favourite tools.