[HN Gopher] Bruno: Fast and Git-friendly open-source API client ...
       ___________________________________________________________________
        
       Bruno: Fast and Git-friendly open-source API client (Postman
       alternative)
        
       Author : ulrischa
       Score  : 391 points
       Date   : 2024-03-09 18:29 UTC (4 hours ago)
        
 (HTM) web link (www.usebruno.com)
 (TXT) w3m dump (www.usebruno.com)
        
       | cube2222 wrote:
       | That looks nice! I stopped using Insomnia after they introduced
       | the forced login to save your collection and wiped all my stored
       | requests...
        
         | adhamsalama wrote:
         | Have you tried Insomnium?
        
       | dmart wrote:
       | I like this a lot. Happy to support any project willing to reject
       | the usual "success story" of selling out to VCs and turning your
       | product into subscription-based SaaS junk.
        
       | pkulak wrote:
       | I'm the principal maintainer at work of a couple hundred bash
       | scripts that use httpie and jq. I don't have a huge appetite to
       | redo that work... but this certainly seems nicer!
        
       | sureglymop wrote:
       | Very tempting! But, will there be a lifetime version/license?
       | Would rather pay upfront instead of ending up potentially not
       | really using it much for 2 years.
        
         | throwitaway222 wrote:
         | It looks like the pricing page has lifetime licenses only.
        
           | sureglymop wrote:
           | It says "one time payment" but then it says "2 years of
           | updates". I interpreted that as having to pay a second time
           | two years into the future if I will want another two years of
           | updates then. A bit misleading.
        
             | spiderfarmer wrote:
             | It doesn't require you to upgrade so I don't see the
             | "misleading" part.
        
             | imafish wrote:
             | Not misleading - you understood it.
             | 
             | Lifetime license does not necessarily equal lifetime
             | updates. 2 years of updates is generous enough for $19.
        
               | throwitaway222 wrote:
               | It's similar to a lot of pricing plans out there. For
               | example I purchased Home Designer Pro 2022 a couple years
               | ago for $450 and I can use the HDP 2022 forever. They
               | have, of course, HDP 2024 but I can't use that one. I can
               | upgrade for an upgrade price. However I don't need to
               | upgrade and am happy to just use 2022 for the rest of
               | time.
        
       | emrehan wrote:
       | I created a cli postman test runner 8 years ago due to the pains
       | involved in API testing: https://github.com/hantuzun/jetman
       | 
       | It seems like the API QA developer tooling has still room for
       | disruption.
        
         | ponector wrote:
         | There is an official cli tool called Newman for running the
         | postman collections.
        
       | skydhash wrote:
       | I myself use Paw [0] because it's native to MacOS, but I'm a
       | little bit worried for it's longevity as it being supported by a
       | SaaS business. But so far it's been great to document API for my
       | personal projects.
       | 
       | [0]: https://paw.cloud/
        
         | jurassicfoxy wrote:
         | Second vote for Paw. I also was not happy about the buyout. It
         | has some quirks, but pretty awesome overall.
        
         | aPoCoMiLogin wrote:
         | the extensions and ability to write your own extensions, or
         | chain request/response values is crazy. when i've switched to
         | linux box from macos last year, paw.cloud (rapidapi) was one of
         | few stoppers for me, that good of a software it is. also not to
         | mention the integration with keychain for credentials
         | encryption was nice.
         | 
         | postman is really bad, nobody should use it. same goes for
         | similar solutions, even this one.
        
         | mberning wrote:
         | Quickly turning into abandonware. I tried moving my paw library
         | from one computer to another and it crashes opening the file.
         | Had to start from scratch.
        
       | retrofuturism wrote:
       | Take note makers of HN. If you launch a product with this
       | attitude and respect, I will pay for it in a heartbeat.
        
       | mikaelsouza wrote:
       | Damn, I wasn't sure if I cared about another postman/insomnia
       | like tool, but I saw the cute dog logo, and it sold the tool to
       | me. Maybe I am just silly, but that got me. Congrats to the team
       | for developing it!
        
         | quercusa wrote:
         | There appears to be an _actual_ dog as well:
         | 
         | https://www.usebruno.com/about
        
       | throwitaway222 wrote:
       | Postman story:
       | 
       | Layoff happened, and we didn't yet have our postman software in
       | our list of services to remove employees from. This is not
       | Postman's fault.
       | 
       | One person had "deleted" all his collections and workspaces after
       | the layoff to clear his laptop of all things related to our
       | company. After we got an email from Postman saying our workspaces
       | were deleted, I removed the laid off users. Since I removed the
       | laid off user, the "trash bin" associated with them was also
       | deleted. Postman support restored all the collections but the
       | "environment" was gone. Which was all of our QA test keys, etc...
       | 
       | Our Postman collections are still in shambles after that, and we
       | don't have any employees to manage it anymore. While I totally
       | don't hold Postman accountable - there is definitely a reason why
       | "no-cloud" is a good way to go with these kinds of tools.
        
         | sureglymop wrote:
         | It makes no sense in the first place for such a tool to even
         | need a login functionality and cloud saves... What's really
         | needed to store information about a few http requests? Maybe a
         | few kilobytes. I never understood it and I particularly don't
         | understand how any company could fall for that. If they instead
         | invested in teaching their engineers how to use curl even that
         | would have paid off more.
        
           | gardenhedge wrote:
           | The benefit of using postman is that you can open the app,
           | see your (shared) collections, easily change the params and
           | hit send. Can curl be used like that?
        
             | leosanchez wrote:
             | You can use hurl which uses libcurl. You can save it to git
             | and commit your hurl testa in the same repo.
        
             | soraminazuki wrote:
             | Of course you can. You can use any tool that lets you write
             | down commands, run it, and edit it. Shells, editors,
             | interactive notebooks like Org Mode, etc. The beauty is
             | that it's just text that you can copy and paste between
             | your tool of choice. You're not locked in to a single tool.
        
               | throwitaway222 wrote:
               | It's not very fun to run the auth call, then copy and
               | paste the access token to the next call, and have to
               | update all of your curl cmds all the time... Even if you
               | use env variables, that's a horrible way to use env
               | variables.
        
               | soraminazuki wrote:
               | You're making the case for automation, which happens to
               | be something the shell excels at. Use unexported shell
               | variables or command substitution (e.g., "$(pbpaste)").
               | Directly use the result of the auth call without going
               | through the clipboard if possible. Create a shell script
               | if shell history isn't enough. Use interactive notebooks
               | if you need something more advanced. The possibilities
               | are infinite.
        
       | d0gsg0w00f wrote:
       | Thank you. As soon as Postman asked for a login I uninstalled it
       | and have been curling from text files ever since. My younger
       | coworkers won't drop Postman though. Maybe this will help them
       | switch.
        
         | bisby wrote:
         | The irony that I switched to Insomnia after Postman started
         | demanding a login... and now I've been actively looking for
         | alternatives (Bruno being on the list) now that Insomnia has
         | done the same thing.
        
           | leosanchez wrote:
           | Have you tried hurl ?
        
           | adhamsalama wrote:
           | Try Insomnium.
        
           | margorczynski wrote:
           | Well based on historical experience with Postman and Insomnia
           | most probably Bruno will go the same way once they get enough
           | users hooked in.
           | 
           | Especially once a VC gets into the fold.
        
             | josephcsible wrote:
             | I foresee this happening too. For me to not worry about
             | this, three things would have to happen:
             | 
             | 1. Open source everything, including the parts of the code
             | that are currently premium
             | 
             | 2. Switch to a copyleft license like the GPL
             | 
             | 3. Start accepting substantial contributions from the
             | community without a CLA
             | 
             | Then they'd be legally unable to do that kind of rug pull.
        
             | helloanoop wrote:
             | Hey there, this is Anoop - creator of Bruno.
             | 
             | Happy to see Bruno at the top of HN
             | 
             | We will never take VC funding. We received around 10
             | inbound reach outs from VCs till date and have denied
             | funding from all of them.
             | 
             | We will remain independent and I have written about it in
             | detail here https://www.usebruno.com/blog/bootstrapping
        
               | biglyburrito wrote:
               | Thank you for posting here, and also for Bruno... I'll be
               | giving it a shot in the coming days, as I only learned
               | about it when I read this post.
               | 
               | Maybe consider a Patreon or something equivalent, to
               | allow non-business folks to help support you? I'd much
               | rather financially support an independent dev shop for
               | which this GUI is a primary focus, instead of paying a
               | subscription for features I don't need & a sub-optimal UX
               | to a business entity for which this is just one component
               | of a business strategy.
        
           | dumbo-octopus wrote:
           | Download Insomnia 2023.5.8 and disable automatic updates.
           | 
           | Though Insomnia doesn't work with streaming responses at all,
           | which is a bit of a non-starter in the age of AI. Anyone know
           | a good streaming HTTP UI?
        
             | ponector wrote:
             | Why not to do the same with postman? I still use it without
             | the login.
        
               | dotancohen wrote:
               | From where do you download old Postman versions? More
               | importantly, which was the last version recommended?
        
             | 1vuio0pswjnm7 wrote:
             | Does this describe the "streaming HTTP" to which you refer
             | 
             | https://gist.github.com/CMCDragonkai/6bfade6431e9ffb7fe88
             | 
             | If not, is there an example of "streaming HTTP" you could
             | provide that illustrates the limitation
        
           | dotancohen wrote:
           | It's not open source, but it's in my workflow anyway. The
           | JetBrains HTTP tool is excellent, and has been getting better
           | and better for quite some time.
        
         | interbolt_colin wrote:
         | Great point. I almost wrote, "why use a bru file when more
         | established scripting languages and libs exist for this". But
         | it seems the point here is to bridge the gap between some devs
         | (maybe more junior) on a team that prefer a GUI while also
         | providing a more vc/cli driven experience for the rest of the
         | team.
         | 
         | Not to mention, that bru syntax looks really nice.
        
         | asabla wrote:
         | I did something similar as well. But instead curling from files
         | I've been using http-files.
         | 
         | Depending on which project I'm working on (and customer), I'll
         | be using different tools to run em.
         | 
         | But to show you an easy example to follow, you could check out
         | this jetbrains cli tool
         | https://blog.jetbrains.com/idea/2022/12/http-client-cli-run-...
        
         | gitaarik wrote:
         | Hehe, always the same. Popular non-FOSS software always dies in
         | these kinds of ways. That, and that it's Chrome-only, is why I
         | never wanted to use Postman. I've been using RESTED [1] in
         | Firefox happily for quite some time. Although I don't use it
         | that much since unit tests and Django Rest Framework's web UI
         | is usually sufficient for testing and debugging.
         | 
         | [1]: https://github.com/RESTEDClient/RESTED
        
         | hn_throwaway_99 wrote:
         | Can't echo this enough. Thank you! Beyond just the login reqs
         | from Postman, the whole Postman UI has become an
         | overcomplicated mess in my opinion. I just want something
         | simple to make remote HTTP calls. I can understand adding some
         | useful extra things like variable interpolation and separate
         | environments, but beyond that, Postman went way off the
         | "enterprisey" deep end.
        
           | Alifatisk wrote:
           | You should try insomnia
        
         | Poliorcetes wrote:
         | here's the thing, developers probably like to eat, so the
         | program has to eventually make money somehow. how does this
         | program plan to make money?
        
           | croes wrote:
           | https://www.usebruno.com/buy-golden-edition
        
         | YetAnotherNick wrote:
         | While I do hate Postman because its overcomplicated in
         | everything.
         | 
         | But attitude like yours has shifted people and money away from
         | developer tools. Instead of all the possible tools we could
         | have from many developers, we are now totally dependent on big
         | tech to sponsor it, like VSCode etc. And over time it would
         | move in direction that will promote another service from the
         | same company like copilot and vscode.
        
         | _flux wrote:
         | I use httpie's CLI tool for testing application/json endpoints.
         | That and some jq really can make some things nice.
         | 
         | (Apparently it has a GUI version as well, but I'm not
         | interested in trying it.)
        
           | hackernoteng wrote:
           | I also have fallen back to just using curl + jq and a set of
           | saved commands since both postman and insomnia have decided
           | to make my life harder not easer. good old plain unix command
           | line tools never fails you.
        
         | rozenmd wrote:
         | I started using Yaak after Insomnia and Postman both decided to
         | become user-hostile, it's decent: https://yaak.app/
         | 
         | You'll never guess who makes it.
        
           | roskoez wrote:
           | Jeff Minter?
        
           | staticshock wrote:
           | Heyo, looks like it's Gregory Schier, the maker of Insomnia:
           | https://schier.co/
        
         | quickthrower2 wrote:
         | I did the same switch. Then went to the Chrome extension YARC
         | https://chrome.google.com/webstore/detail/yet-another-rest-c...
         | which I like for the simplicity. It does remember past queries.
        
         | Eji1700 wrote:
         | I know people don't love VS Code, but is there a reason Thunder
         | Client isn't more popular? I know it's feature lacking compared
         | to postman, but more so than curling?
        
           | CharlesW wrote:
           | This looks nice too, thanks for sharing! I can also recommend
           | RapidAPI for macOS users.
        
           | majkinetor wrote:
           | Team options are behind the paywall. Besides, bruno is simply
           | better.
        
       | nothrowaways wrote:
       | Looks great
        
       | alecsm wrote:
       | I'm tired of Postman freezing when sending JSONs over a MB in
       | size. I had to purge it from the system a couple times because
       | the tab wouldn't even load on start up making the whole thing
       | unresponsive.
       | 
       | I hope Bruno works better in that regard.
        
       | FlyingSnake wrote:
       | Looks great!
       | 
       | Postman dug its own grave after selling out itself for VC money.
       | The "File over app" philosophy is a direction that we should be
       | supporting after the Post-ZIRP VC money world.
       | 
       | 1: https://stephango.com/file-over-app
        
       | throwitaway222 wrote:
       | Golden Edition in the pricing page is listed twice, it looks like
       | the middle column should read "Individual plan"
        
       | michaelbuckbee wrote:
       | I have nothing against this app or the other graphical HTTP tools
       | like Postman, Insomnia, etc., as people clearly get value out of
       | them, but personally, I've moved everything over to Hurl -->
       | hurl.dev
       | 
       | - Open source
       | 
       | - Text files all the way down
       | 
       | - Easily understood DSL
       | 
       | - Easily distributed
       | 
       | - Easily versioned
       | 
       | - Fast
       | 
       | Download the executable, copy the two lines below into "first-
       | test.hurl" and you're up and running.                   GET
       | http://localhost:3000         HTTP 200
       | 
       | I realize I'm fanboying a bit here, but Hurl really has been so
       | helpful for our particular use case at wafris.org where we're
       | trying to support a large number of different HTTP clients. We
       | can just give an integration partner access to our hurl suite and
       | they're good.
        
         | leosanchez wrote:
         | +1 for hurl. Been using it from many months now.
         | 
         | IMO only thing missing for me is a predicate that checks every
         | item in the array for some condition.
        
         | twodave wrote:
         | I took a lot of inspiration from Hurl while building Nap[0]. My
         | next goals for it are a UI and/or a VS Code extension.
         | 
         | [0] https://naprun.dev
        
         | statenjason wrote:
         | I tried Hurl after Insomnia went the way of Postman. The
         | highlights you list were the strong drivers for testing it out.
         | Where Hurl fell short was composing requests. Example: X.hurl
         | response has authToken. Y.hurl uses authToken. Z.hurl uses
         | authToken. There's no import ability[1], so you've got to use
         | other tooling to copy X.hurl into Y.hurl and Z.hurl.
         | 
         | Ultimately settled on Bruno. It's backed by readable text
         | files[2] as well. The CLI works for scripting. And the GUI is
         | familiar enough that I've managed to convert Postman holdouts
         | at my dayjob.
         | 
         | [1]: https://github.com/Orange-OpenSource/hurl/issues/1723
         | 
         | [2]: https://docs.usebruno.com/bru-language-samples.html
        
       | anonymous344 wrote:
       | bruno seems really easy and good, but then.. it doesn't support
       | cookies..
        
       | masa331 wrote:
       | Can someone explain what Postman or Bruno is for? I know it's
       | something for interacting with apis but why would i use it. I
       | interact with apis a lot with curl or wrapper in my languages but
       | never really needed something else?
        
         | abledon wrote:
         | Alot of people in tech/tech-adjacent cant use CLI, need an
         | easier alternative. Also, instead of having a huge .txt/.md
         | recursive directory of curl commands, programs like these
         | bundle up request workflows into 'collections' etc..
        
           | epolanski wrote:
           | Also it helps with documenting/testing.
        
         | dt3ft wrote:
         | Can be used to for api testing. Collections, token handling
         | etc. Mostly for api testing, and collections can be shared
         | among team members and source controlled.
        
         | ericyd wrote:
         | For me it's more convenient than curl for three reasons mainly:
         | 
         | 1. Easier to organize collections of requests in a visual
         | hierarchy
         | 
         | 2. Environments mean you can use the same collection to easily
         | execute against local, dev, staging, production, etc.
         | 
         | 3. Pre- and post-execution scripts mean you can
         | programmatically extract values and chain into other requests
         | (think grabbing an access token from an oauth request then
         | using that token for an authenticated request)
         | 
         | It's basically just convenience features, nothing you can't get
         | with other tools.
        
         | jmopp wrote:
         | As someone who uses curl and postman regularly, both tools have
         | their places: I've found curl most useful for quick ad-hoc
         | requests, or if I need to figure out why my service is no
         | longer working. Postman I've found most useful to create a
         | library of requests that are available on-hand: If I need to
         | call services but I don't want to have to remember what the
         | exact URL is or what the exact payload is.
        
           | leosanchez wrote:
           | Have you tried hurl ? It's kind of a mix between curl and
           | Postman
        
         | konaraddi wrote:
         | It's a rich GUI for calling APIs, including rudimentary load
         | testing.
        
         | DotaFan wrote:
         | I really like to use Insomnia (Bruno alike) to import all
         | project API's and debug API's over Insomnia. Does the job much
         | faster for me.
        
         | serial_dev wrote:
         | One more thing I don't see mentioned is that you can share
         | requests with your team easily, so if you worked on an API
         | integration, you can document it, share it with your team, and
         | when the next time someone else needs to fix something, they
         | can find something that worked at some point and has all the
         | required fields.
         | 
         | Of course you could also just check in to version control these
         | requests as curl commands, so if your team has the technical
         | knowhow, that's about almost the same.
         | 
         | Or even better, you write some tests in your language to make
         | these requests, then you have an integration test, too.
        
       | benrutter wrote:
       | Looks awesome! Having version controlled api collections is a
       | good enough idea that it makes all other ideas seem a little
       | crazy.
       | 
       | Any idea if the CLI app is available as a standalone? Looks like
       | its a "desktop app + cli" or nothing deal from what I can find.
        
       | adhamsalama wrote:
       | Doesn't seem to support advanced stuff like GraphQL, gRPC,
       | WebSockets...
        
         | lazypenguin wrote:
         | Seems it does under the premium version
        
       | sergioisidoro wrote:
       | I found Bruno after Insomnia adopted the Postman strategy of
       | being cloud first, with a disastrous migration - I momentarily
       | lost all my local projects after an update.
       | 
       | I've been using it for a while and I really like the offline
       | first + git collaboration aspect of it. Only missing Websockets
       | functionality at the moment.
        
       | jhoechtl wrote:
       | Insomnia was great. Than they more or less put of 90% of their
       | users by forcing them in their cloud. Did that get any better?
        
       | kirubakaran wrote:
       | If you use Emacs, restclient is awesome
       | 
       | https://github.com/pashky/restclient.el
        
         | progre wrote:
         | If you use VS Code REST Client is awesome
         | https://github.com/Huachao/vscode-restclient
        
           | S04dKHzrKT wrote:
           | If you use IntelliJ based products, the builtin HTTP Client
           | is awesome. https://www.jetbrains.com/help/idea/http-client-
           | in-product-c...
        
             | gamache wrote:
             | If you use computers, Curl is awesome. https://curl.se/
        
       | James_K wrote:
       | I would love to see more UI done in this style. That is to say
       | treating your business logic as an API and then exposing it
       | publicly to clients on different platforms.
        
       | lovasoa wrote:
       | I am currently looking for a solution to run automated tests on a
       | sql website generator I am working on ( https://sql.ophir.dev )
       | 
       | I wanted to use hurl (https://hurl.dev/), but Bruno's UI seems to
       | be useful while developing the tests... Has someone tried both ?
       | Which is better for automated testing, including when the
       | response type is html and not json?
        
       | spdustin wrote:
       | MQTT is in the pipeline? That's gonna be a huge deal for those of
       | us working on IoT projects that also use REST for service data.
       | I'll be watching this for sure.
        
       | midnitewarrior wrote:
       | Can this read OpenAPI (Swagger) specs and generate calls based on
       | the service description?
        
       | dgan wrote:
       | Funny, i literally wrote an API tester a week ago for my job. It
       | doesn't have a pretty syntax (in fact, it is the opposite of
       | pretty, tests must be written in XML), but it does understand our
       | authentication flow, and is able to not only assert the status
       | codes and the returned json, but also the contents of Excel
       | files, since we do lots of reporting.
       | 
       | I haven't seen anything being able to compare excels. Also,
       | usually test frameworks are aimed at developers (unsurprisingly),
       | not at testers who might not be comfortable in writing scripts
       | (looking at you, Katalon)
        
       | wzulfikar wrote:
       | I've replaced Postman with Bruno (dekstop app), works great so
       | far! It's nice to put the collection folder in git so I can
       | collaborate with others and commit the changes to the repo.
        
       | INTPenis wrote:
       | But can it handle oauth2? I had to write a httpie script recently
       | just to test an oauth2 api.
        
       | thih9 wrote:
       | One thing I like doing when working with APIa is to have an echo
       | server at hand.
       | 
       | I.e. something that I can query via curl or via a network library
       | that I'm using, and see in response what kind of request it
       | actually received. It helps me verify that I'm making correct
       | requests (and not misusing curl or a network library).
       | 
       | Currently I google for that and use the first online result that
       | comes up. Is there an open source local equivalent, or does Bruno
       | offer some solution for that?
        
         | paol wrote:
         | Sounds like mockserver[0] might be what you want.
         | 
         | [0] https://www.mock-server.com/
        
         | cyunker wrote:
         | I've been using https://httpbin.org/ to so some client testing
         | and so far it has been great. They provide a docker image which
         | makes it easy to run locally.
        
         | ricekot wrote:
         | I use ZAP [1] with the OAST add-on for this at the moment. I
         | admit the UX isn't perfect, but it serves my purpose.
         | 
         | If I also want control over the responses (e.g. return a 401
         | status code for every fifth request), I have a custom extender
         | script [2] for that.
         | 
         | [1]: https://www.zaproxy.org/
         | 
         | [2]: https://www.zaproxy.org/blog/2022-09-13-zap-extender-
         | scripts...
        
         | notRobot wrote:
         | <?php         print_r($_POST);         print_r($_GET);
         | 
         | If all you need is an echo, should be as simple as this in a
         | .php file, no? Can be deployed with PHP's built-in webserver.
        
       | daniel-grigg wrote:
       | The IntelliJ http client is pretty great too (after using both
       | postman and insomnia) if you use IntelliJ already.
        
       | kissgyorgy wrote:
       | Here is why you should ditch Insomnia:
       | https://www.youtube.com/watch?v=eqf9kD2XPn8
        
       | rvz wrote:
       | > The source code for Golden Edition features is proprietary.
       | 
       | Here we go again. There are two versions of this tool. One which
       | is "open source" and another that has additional features which
       | are closed source.
       | 
       | Not very "open-source" after all.
        
       | bennyp101 wrote:
       | There was a discussion a while back when the whole insomnia thing
       | happened, where the dev points out how he aims to not go the same
       | route
       | 
       | https://github.com/usebruno/bruno/discussions/269
        
       | burnett2k wrote:
       | This looks amazing. Postman is a great tool overall, but
       | definitely seems to have gotten clunky and overly engineered. I
       | don't need so many damn features. 99% of use cases are just hit
       | an api. Will be trying this out immediately!
        
       | JanisErdmanis wrote:
       | I just finished watching the introductory video and found the
       | whole concept of PostMan and Bruno disappointing. It's baffling
       | that one has to dive into the code to unearth the appropriate
       | routes--a completely unnecessary and time-consuming endeavour.
       | This process should be automated, ensuring that documentation and
       | code are always perfectly aligned, eliminating any out of sync
       | issues. The endpoints themselves should be directly accessible
       | from automatically generated documentation using tools like
       | Swagger. This isn't just a convenience; it's a necessity for
       | efficient and effective development.
       | 
       | So, what is the utility of tools like PostMan, Bruno and others
       | when one has automatically generated docs with Swagger with which
       | one can interact? As an example, you can check my current project
       | where I have set docs like that (still need to add an endpoint
       | field): https://peacefounder.org/PeaceFounder.jl/dev/schema
        
         | ponector wrote:
         | Imagine you have a scenario where you need to get a token
         | first, then with GET retrieve an id of the item, then with POST
         | create a new entity related to that id. And then you need to
         | call another microservice with created id from post request.
         | 
         | How you going to do it in swagger?
         | 
         | And more serious question is how you going to force developers
         | keep swagger up to date so I can execute such scenario?
        
           | JanisErdmanis wrote:
           | > Imagine you have a scenario where you need to get a token
           | first, then with GET retrieve an id of the item, then with
           | POST create a new entity related to that id. And then you
           | need to call another microservice with created id from post
           | request.
           | 
           | This is a good explanation. I would however be inclined to do
           | that within a script.
           | 
           | > And more serious question is how you going to force
           | developers keep swagger up to date so I can execute such
           | scenario?
           | 
           | The swagger is created automatically from the routes
           | themselves so it is always up to date. To maintain endpoint
           | an integration test can be written which executes the
           | scenario.
        
         | knallfrosch wrote:
         | We use Swagger for internal APIs and Postman for 3rd party
         | APIs.
         | 
         | It's not like these sites serve swagger.
        
       | hackernoteng wrote:
       | Good. Postman and Insomnia have shot themselves in the foot with
       | overly complex UI and a mess of managing your collection of API
       | calls in some horrible format and messing up the whole sync
       | process and the simple ability to run everything offline without
       | login, etc. I would also add that streaming (SSE) support would
       | be great.
        
       | vsgherzi wrote:
       | This is exactly what I was looking for, never understood why
       | postman decided to monetize that way
        
       | everettwilson wrote:
       | Well this is fun to see. After Postman deleted my local data
       | after I declined a cloud account, I started working on my own
       | tool: https://github.com/EvWilson/sqump
       | 
       | Some similar ideas - actually treats the file system as
       | authoritative, runs locally, can share collections via source
       | control with teammates. Difference in this case is that I used
       | Lua as a lightweight scripting layer that I gave all my necessary
       | tools to. So now I have a HTTP toolkit, and some for Kafka as
       | well (which I use a good bit). I've been able to use it to
       | replace all my API testing and development, as well as perform
       | some more involved migrations and some dashboard-like actions
       | (e.g. can list out resources and then check failures for each of
       | their IDs).
       | 
       | It's also just a single binary with the web UI and CLI bundled
       | in, which works more for me. Still early days for the little
       | tool, but hoping it could be helpful for someone else.
        
       | Zelphyr wrote:
       | Just one minor note about your website: it breaks the back
       | button.
        
       | synthc wrote:
       | I prefer curl and bash for testing API's, it's less polished, but
       | very flexible and it will never break or require an account.
       | 
       | But for sharing requests in a team an app is nice. I had a good
       | experience with Bruno. Bonus point for easy to store configs.
        
       | HNArg024 wrote:
       | Looks nice! Will give it a try, so I can ditch Insomnia
        
       | n00bskoolbus wrote:
       | Been using Bruno for a while now and it's done what I need, I'm
       | not doing any thing crazy just testing endpoints with maybe a
       | small bit of scripting afterwards. Very pleasant to use.
        
       | AHTERIX5000 wrote:
       | I've been looking for an alternative to Postman since its
       | enshittification. Postman does not even work anymore if it can't
       | reach internet. This looks actually useful and seems to have
       | support for OAuth2 (which is the main reason I use something
       | separate app instead of python/curl + sh etc)
        
       | Crowberry wrote:
       | We recently moved over to bruno (from postman) for integration
       | tests, and have had a great experience so far!
       | 
       | Pros:
       | 
       | - DevEx is great, the experience moving between writing tests
       | through text vs the client is seamless (allows different
       | expertise to collaborate more easily)
       | 
       | - Fast and has all the basic features you'd expect
       | 
       | - Offline first
       | 
       | - Continuous improvements being made
       | 
       | Cons:
       | 
       | - Somehow, if the test fails connecting with the server its a
       | passed test. So watch out for that one! I really hope it gets
       | fixed soon!!
       | 
       | - Would be great to be able to dump the variables after a run
       | through CLI
       | 
       | - Failed outputs from assertions and expects could be a bit more
       | verbose, but it's mostly likely the result of a dependency I
       | assume
        
       | yashasolutions wrote:
       | Bruno is awesome. The import from postman thing is really what
       | make the difference - it makes adoption instant (because yes
       | everyone is still running on postman).
       | 
       | Regarding long term strategy, they seems to have a valid (non
       | subscription based) where you can get some very nice premium
       | feature for a one-off licence price (which is the kind of
       | business model we need to support - instead of the madness we
       | have going today with everything is subscription)
        
       | 1vuio0pswjnm7 wrote:
       | What, if anything, differentiates an "API client" from an "HTTP
       | client"
       | 
       | What is required to be considered an "API client"
        
         | thunderbong wrote:
         | API clients mostly expect JSON responses. So, test assertions
         | have to be able to parse the responses and validate them.
        
       | zikohh wrote:
       | I've had my eye on Bruno for a while but this issue with path
       | parameters is somewhat annoying.
       | https://github.com/usebruno/bruno/pull/484
        
       | hota_mazi wrote:
       | I really like IDEA's .http files [1]
       | 
       | Very similar idea as Bruno: everything is configured in text,
       | which I always find myself more productive in that full blown GUI
       | where I need to tab from edit text to edit text to get anything
       | don.
       | 
       | [1] https://www.jetbrains.com/help/idea/http-client-in-
       | product-c...
        
       | cynicalsecurity wrote:
       | Insomnium.
        
       | adra wrote:
       | I just started to use the intellij built-in http client for my
       | quick and dirty curl debugs and I gotta say it's pretty good for
       | my limited needs so far.
        
       | majkinetor wrote:
       | I am using bruno on all my REST projects and the entire team is
       | more than happy. We have bruno file for most endpoints
       | demonstrating basic usage and as soon as something is
       | problematic, someone creates bruno file in the repo and link to
       | it so others can interactively discover what the problem is
       | about. Since its cross platform and doesn't require any kind of
       | on-boarding its joy to use and nobody complained. Previously,
       | people used postman, thunder, curl and whatnot, but now everybody
       | is on the same page. People created all sorts of scripts, such as
       | automatic token refresh, so you jump straight to action. The fact
       | that I can edit it in vscode is also amazing. Thank you.
        
       ___________________________________________________________________
       (page generated 2024-03-09 23:00 UTC)