19 ms·
Postman Now Supports gRPC
- shp0ngle 5y agopostman is a software that I simultaneously love and hate on one hand, it has all these really great features. I would be half as productive without it. on the other hand, it’s so, so annoying with all these updates and cloud features and something or other all the time :(
- truthwhisperer 5y agoVery solid development but please disable those pop ups that you have to update your postman (always delivers) suite. That is very annoying. I went back to version 7.x because of this.
- sorahn 5y agoI’ve been using BloomRPC for the past year, but it’s definitely got a few rough spots. Very excited to try this out.
- thcyron 5y agoIf you’re on the Mac, you might want to give Grip (https://gripgrpc.dev https://gripgrpc.dev) a chance. It’s a native client for gRPC. (Disclosure: I’m the author.)
- dewey 5y agoVery nice, thanks for sharing. I'll take a look.
- evanmoran 5y agoLooks great! How’s the reception so far? Many of our APIs have some streaming, is that something on your roadmap?
- thcyron 5y agoIt’s definitely on the roadmap. Out of curiosity, do you use client/server streaming or bidirectional streaming?
- evanmoran 5y agoServer streaming, though I'm not sure how representative we are. We have servers that use streaming for watching for real-time changes. Currently using BloomRPC, if that helps
- ProtocallDev 5y agoGrip looks super cool - it's one of the few other clients I've seen that will render structured input fields to make it easier to construct complex messages. If you have a more urgent need for server-side streaming support, you could also check out Protocall (https://protocall.dev https://protocall.dev - disclaimer, I'm the author) - it supports all four rpc types (Unary as well as Client/Server/Bidirectional streaming), along with the structured input field rendering and automatic import resolution (via Github repo import). I wrote it because existing tooling like BloomRPC and gRPCurl were difficult to use for anything more complicated than "Hello, World". I was also looking for tools that would let me send protobuf-encoded requests via HTTP/1.1 rather than gRPC, which didn't seem to exist at the time.
- dewey 5y agoI've been using https://github.com/fullstorydev/grpcui https://github.com/fullstorydev/grpcui + Paw so I hope that Paw catches up and also adds gRPC support. Definitely a good decision to have everything in one tool.
- paozac 5y agoI used to like Postman, when it was a simple browser extension. I basically used it as a curl gui. Now > Postman is an API platform for building and using APIs. Postman simplifies each step of the API lifecycle and streamlines collaboration so you can create better APIs—faster. I guess I’m no longer their target user. Back to curl/httpie.
- sbmthakur 5y ago> I basically used it as a curl gui. I just use Browser's Network tab for that nowadays. CORS can be a trouble at times, but that can be avoided with a few tweaks.
- dewey 5y agoI think the killer feature for these separate tools is usually that you can easily do a right click -> "copy as curl" in the network inspector, then import it in Postman/Paw and then tweak parameters / add headers there. This is not really possible in the browser network tools.
- nerdite 5y agoI take that curl command to https://curlconverter.com https://curlconverter.com And get Python that I can start iterating on. They have lots of languages. I used to use Postman but the clarity of the code is so much easier to see what’s happening vs postman imo.
- panzerklein 5y agoIt seems pretty easy with Firefox - there's "Edit and resend" in the context menu of every request.
- dewey 5y agoAnd then you accidentally refresh or close the tab and everything is gone. I usually use specific requests over many days if I'm reverse engineering something so having these available, sorted in folders for me is important. Of course for other uses cases it might be fine to have them live in the browser.
- hbn 5y agoPostman is so incredibly bloated and slow these days. All I want is a REST client, but it feels like every time I want to perform a basic task now, I have to dig past all of their confusing platform and cloud stuff that I have no interest in.
- itsharshag 5y ago[dead]
- robofanatic 5y agothey shouldn't have moved the company to silicon valley
- kawemi 5y agoIf you would like an alternative that is still GUI, I personally switched from Postman to Insomnia (https://insomnia.rest/ https://insomnia.rest/) in the last year and haven't looked back. It has been acquired recently, but it's still open source and very lean. Definitely recommend, you can even directly import your Postman collections if you used them.
- lnenad 5y agoCompletely agree, I've started making my own open source lightweight version https://github.com/lnenad/probster https://github.com/lnenad/probster It's golang + gtk so it uses 30MB of ram. I've made a website https://probster.com https://probster.com with some screenshots. I plan on making a barebones version available for download soon for all platforms, just gotta get around to it because I don't have a lot of experience with delivering desktop apps.
- dwmbt 5y agolove the idea! i'd be willing to contribute but i'm sort of useless when it comes to go... i do have a suggestion though! lots of open source projects also use open collective [1] to crowd source funds, so if you want to add another payment method for users like me that don't have patreon that might be something to look into. [1] https://opencollective.com/ https://opencollective.com/
- adhoc_slime 5y agoI have a meta question to ask, in threads like these where big products announce new features or big funding I always see commentors lamenting bloated software or it having too many features, not doing the one simple thing you want it to do, etc. To me it seems the only trajectory of developers building products is to add new features, its how we justify keeping ourselves around most of the time. So what my question is is how do you actually expect products to just stop active feature development? Or would you rather a second standalone app to install? I'm a relatively young developer so I'm hoping to gain some insight from this mindset I see all too often.
- tluyben2 5y agoI definitely rather would have had a second (and third and further,...) app. But I guess most people do not.
- robofanatic 5y agoI always wonder we have usable version numbers for API's or packages but why not for UIs. It would be nice to have the ability to switch the app to a specific version in the past.
- chrisdhal 5y agoI agree with you. It seems funny to me in a lot of these threads about new features that people complain about them, then when somebody recommends program "XYZ" they complain "but there hasn't been any updates in 2 years, it's obviously not good or not used and I don't want to get stuck using an obsolete package". Can't win I guess.
- matsemann 5y agoYou can't win. Most features added is because someone wants them. One person's bloat is another person's long sought feature. Like a quote about Microsoft Office: A user only ever uses about 10 percent of the features. The problem is that all users use different 10 percents.
- 5y ago
- mythz 5y agoWe've moved on from Postman for our own APIs and are now including an integrated API Explorer into each new .NET v6+ App https://docs.servicestack.net/api-explorer https://docs.servicestack.net/api-explorer As a consequence of our API Design we're also able to reuse our existing Typed APIs in gRPC services: https://docs.servicestack.net/grpc https://docs.servicestack.net/grpc
- dschuessler 5y agoThis seems to be the golden way of solving the problem Postman is attempting to solve. Have your request collection as code that you can develop with your features and check into your VCS. I always dreamed of something like this and was more than surprised that it doesn't seem to exist. Does anyone know of a similar solution for node.js?
- kedihacker 5y agoIs there efficent binary formats like grpc which doesn't require a predefined schema?
- rmorey 5y agoSomething like this? bsonspec.org
- davidjfelix 5y agoBefore you go down this rabbit hole I'd recommend quickly doing a POC microbenchmark, with a sample payload, against formats with schema to get an idea of why this isn't more popular: - JSON (without schema) vs Protobuf (with schema) - Msgpack (without schema, compressed) vs Protobuf (with schema) - JSON + gzip or brotli encoding vs Protobuf + gzip or brotli - JSON + gzip or brotli encoding vs Msgpack + gzip or brotli Compression will erase a lot of the gains even with a schema-defined protocol, but if your goal is low CPU (just serialization) then msgpack is usually good enough.
- thomaswormald 5y agoGood to hear. I became frustrated with the gRPC debugging experience recently, so I wrote GrpcBrowser, an extension for .NET apps that adds a swagger-like web UI: https://github.com/thomaswormald/grpc-browser https://github.com/thomaswormald/grpc-browser
- soraminazuki 5y agoOn a related note, I'm wondering if there are plans for updating httpbin. The httpbin repo was transferred to the Postman organization somewhere between January and March of 2019 [1]. The last commit was made on November 2018 [2] and it's currently suffering from outdated Python dependencies. [1]: https://web.archive.org/web/20190322170311/https://github.com/postmanlabs/httpbin https://web.archive.org/web/20190322170311/https://github.co... [2]: https://github.com/postmanlabs/httpbin https://github.com/postmanlabs/httpbin
- a85 5y agoI'll look into it. Thanks for pointing it out!
- serverholic 5y agoHow about better graphql support? Insomnia is kicking postman's but in that department and my team had to switch.
- a85 5y agoMany many improvements coming soon to GraphQL tooling in Postman.
- pm90 5y agoThis (grpc support) might change my mind but I’ve never found the need for a tool like postman for rest apis. curl + shell history search has worked pretty well. It’s so easy to share a snippet; to tweak it so you can make it as verbose as you need. It’s easy to run locally or on a remote machine.I guess if Postman has an easy way of sharing that might be great but it’s the stability of curl that makes it super appealing.
- Nihilartikel 5y agoI've tried Postman quite a few times in the past - but for my use cases of exercising APIs or doing ad-hoc automation, it's always been much less frustrating to reach for a Jupyter notebook with the 'requests' library. In the end it also leaves me with a git'able artifact to share with others.
- smoyer 5y agoI've been using gRPCurl for years and, once you understand gRPC and Protobuf, it's pretty easy to use and can be scripted in many ways - https://github.com/fullstorydev/grpcurl https://github.com/fullstorydev/grpcurl.
- avel 5y agoAs I have also been frustrated with the direction Postman has taken, I have a great alternative to suggest, if the only thing you want to do is fire requests on demand easily and do not need automated testing. The VS Code Rest Client extension https://marketplace.visualstudio.com/items?itemName=humao.rest-client https://marketplace.visualstudio.com/items?itemName=humao.re... is great for testing and debugging APIs. You create a "my_request.http" file that contains something like POST https://example.com/comments HTTP/1.1 content-type: application/json { "name": "sample", "time": "Wed, 21 Oct 2015 18:27:50 GMT" } First line is the method and url, then headers, then a newline, then the request body. Hit ctrl+alt+p, the request is sent and you see the response in a side pane. Everything is encoded and decoded properly. You can organize your tests under multiple files and folders. I cannot recommend this extension enough, it has made my life so much easier.
- judge2020 5y agoCan it do substitution with some sort of application-based KV store? The main reason I used a rest client like Insomnia is so that I can reference secrets like {{ client_secret }} or {{ api_key }} and have a change to the value in the KV store reflect for every request.
- nexuist 5y agoYes, it seems like it: "We support two types of variables, one is Custom Variables which is defined by user and can be further divided into Environment Variables, File Variables and Request Variables, the other is System Variables which is a predefined set of variables out-of-box." However, what I can't figure out is if it supports programmatic variable setting. I have an API where I need to retrieve a token from an endpoint before using it for every other endpoint, and I'm using Postman's test scripts to set that token as an environment variable before sending all the other requests so they can all use it. I don't see a way to replicate that with this extension.
- test-account 5y agoYou can do it with intelij
- thcyron 5y agoFor people looking for a native macOS client for gRPC, check out Grip (https://gripgrpc.dev https://gripgrpc.dev). (Disclosure: I’m the author.)
- zanedeg 5y agoCorrect URL: https://gripgrpc.dev/ https://gripgrpc.dev/
- karolsputo 5y agoI'v really had it with Postman. I don't get the priorities. Slow and sometimes confusing and auto-saving the configuration is still impossible(!) and I just keep loosing % of work done every single day. [0] Glad to see lots of comment with alternatives here. [0] https://github.com/postmanlabs/postman-app-support/issues/8195 https://github.com/postmanlabs/postman-app-support/issues/81...
- jonfk 5y agoTo 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/ https://httpyac.github.io/
- binwiederhier 5y agoTIL 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-code-editor.html https://www.jetbrains.com/help/idea/http-client-in-product-c... https://www.jetbrains.com/help/idea/exploring-http-syntax.html https://www.jetbrains.com/help/idea/exploring-http-syntax.ht...
- sudhirj 5y agoThanks, I’ve had Idea Ultimate All Products for years and never heard of this.
- joshstrange 5y agoYeah 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.
- eadmund 5y agoThose of y'all frustrated with Postman might be interested in restclient.el: https://github.com/pashky/restclient.el https://github.com/pashky/restclient.el
- dec0dedab0de 5y agoI see people complaining about what postman has become, but I never really saw the need for it to begin with. When I'm exploring a new API I just do it in jupyter with python/requests. This way, when I figure out how to do what I want I already have some working code. I can see how this workflow would be a pain in a static language, but for dynamic languages I don't understand why more people don't do it this way.
- rplnt 5y agoTo be fair, you can export python code from Postman as well. And it allows you to load swagger/openapi spec which makes the exploration phase rather trivial. disclaimer: I also hate using Postman because it's too big, complex, slow
- toqy 5y agoYeah the real value of Postman for me is that often times other teams will have postman collections that you can just import and explore an api with. Not that I really like what Postman itself has become though.
- PaulAnunda 5y agoWhile the OSX client has become quite bloated, I find https://web.postman.co/ https://web.postman.co/ to be a good experience.
- lambda_dn 5y agoBloatware that is a heave ugly GUI wrapper over cli tools like curl. Learn bash scripting and you will have unlimited power and speed vs this crap.
- nexuist 5y agoLearn bash scripting and you will hate yourself every day for having to wade through terrible language decisions made >30yrs ago while having to do everything by yourself because nobody else at your company knows Bash while also having no opportunities for advancement because nobody understands what you do and why it's important.
- lambda_dn 5y agoDon't ever for an interview at Google they will laugh you out the room.
- guptarohit 5y agoPostman used to be a go-to tool for testing APIs, now I use anything else (curl, httpie, etc) but postman. Too much is some time too less.
- throwingawayyou 5y ago
- deleted 5y ago[deleted]
- hngpt2 5y agoA few days ago I wrote about using the Postman API to automate functional tests. To send HTTP requests, you use the HTTP API, which is built in Postman. To interact with some API’s, you need to make a call with one of the REST API’s that are built in. There are a few pre-requisites that need to be set up to make use of the HTTP/2 protocol and also ensure your application will be compatible with HTTP/2 in general. At times, especially when working on Android, it can be hard to test and debug a gRPC server. Luckily, gRPC supports a protocol called “stub” that will emulate the behaviour of your service when being tested.
- fooaccount123 5y agohttps://github.com/postmanlabs/postman-app-support/issues/2701 https://github.com/postmanlabs/postman-app-support/issues/27... lol
- newusertoday 5y agoif you are using emacs you can also give this a shot https://github.com/federicotdn/verb https://github.com/federicotdn/verb It lets you write the api, test it and generate the documentation all from the same source of truth file.
- federicotdn 5y agoThank you for linking it!
- cyberpunk 5y agoNo love for burp[0] here? I really like it.. It's technically a security research tool (and thus, hilariously frustrating to try and get approved by the desktop people at say, a bank) and the UI is a bit old school, but it's never once annoyed me.. 0: https://portswigger.net/burp https://portswigger.net/burp
- fasteo 5y agoStrangely enough, I came here to look for Postman alternatives in the comments. Not disappointed !
- LoveGracePeace 5y agoI like is Apache JMeter, more for load testing but it can be used to get all the same information as all the other tools people are mentioning. https://jmeter.apache.org/ https://jmeter.apache.org/
- locusofself 5y agoI just started using postman, because I'm working with a team that runs some tests with it. I've been unpleasantly surprised with the interface, it feels very slow and bloated on my fast dev machine.
- CommonGuy 5y agoShameless plug, as I'm one of the creators: Kreya is (in our opinion) the most powerful gRPC GUI client out there, but the UI is not as overloaded as the Postman one. REST support and scripting/test integration coming soon as well! https://kreya.app https://kreya.app
- brian_herman 5y agoI can't wait for native support for SOAP. It would be great to have a competitor to SOAPUI.
- a85 5y agoPostman founder here. Thank you HN community for highlighting this feature. We have been seeing gRPC usage exploding especially in microservices driven architectures and we are looking forward to the feedback we get on the feature. A few other observations on comments that I read through: 1. Postman leans towards adding UI affordances instead of hiding them. This can irritate experienced developers at times who already know the complexities of HTTP or other protocols but that is really how new developers find their way around. So while it is attractive to have 1000 options hidden behind a command line interface, nobody uses 995 of those features. We are getting better at building experiences for both experienced and new developers. Also, I don’t believe reading man pages of git or curl is a better experience. 2. Performance is a huge area for improvement. More to come in subsequent releases this year. 3. Our roadmap is community driven: https://github.com/postmanlabs/postman-app-support/issues https://github.com/postmanlabs/postman-app-support/issues. Raising more investment helps us do more. We have built a business model around doing the maximum for every developer on the planet while also providing value to companies so we can charge for it and continue development. I find it fair that companies spend hundreds of millions of dollars on salaries can pay some money for improving their productivity by spending in developer tools. 4. API Development is a huge and growing area and developers are spending more and more time working with APIs rather than their IDEs. API Design, documentation, and testing are areas that a large number of developers tell us they wish they had better tooling for. Most of their time is spend pointlessly in trying to figure out how an API works (in some cases whether an API even exists). We decided to take Postman in those areas even though paradoxically it might lead to “less” Postman usage. (The faster people figure out an API the fewer number of calls they have to send) 5. Finally, it is good to see here a call for fewer features which we insist internally as well. Unfortunately at some point some part of the community is upset that we are NOT adding features (just see the gRPC thread on our issue tracker!). We don’t see issues to remove features as much as we have requests to fulfill. We do remove features consciously but it is a hard problem, so we default to adding them slowly.
- atarian 5y agoThoughts on having native clients for Mac/Windows?
- ProtocallDev 5y agoIf anyone is looking for a gRPC client which will automatically resolve imports between protos and also render structured input fields for each message, check out Protocall (https://protocall.dev https://protocall.dev - disclaimer, I'm the author). I built it to solve my biggest pain points with existing tooling like BloomRPC and gRPCurl - they were difficult to use for anything more complicated than "Hello, World". I also couldn't find any tools that would let me send protobuf-encoded requests via HTTP/1.1 rather than gRPC - there are a couple options now, but as far as I know none of them support both that and gRPC.
- AtNightWeCode 5y agoLeft Postman a long time ago after all the stupid decisions. Never looked back. gRPC is a nice addition to Postman though. In contrary to what advocates of gRPC thinks, this kind of development is the key thing to bring gRPC to the wide audience. The lack of test tools for non-developers has been an obvious problem with gRPC. Most people should probably still not use gRPC since it is in most cases useless and causes a lot of problems.
- mhoad 5y agoAs someone who is about to start a big project with gRPC kind of at the middle of it all would you mind elaborating on the other problems you were alluding to? From the outside and some basic testing it seems great
- AtNightWeCode 5y agoIf you can be flexible about the infrastructure there is no problem with gRPC. Most problems I have seen is that is does not work or perform as well through proxies and load balancers without tweaking.
- ynouri 5y agoMy company’s product is an API and Postman has been a key tool to test it, collaborate internally on requests and share it to the external world. Our ecosystem is also very API intensive and we also use Postman to discover other companies APIs. We use all those features: - HTTP requests - Mock servers (to test async requests which call back a webhook endpoint) - Workspaces: private and public - Monitors, alerts and integrations I’m excited by the direction Postman has been taking over the years. Most of commenters in the thread seem to think that Postman is still in the “lightweight cURL replacement GUI” market, like so many of the alternatives mentioned. I think this is wrong - Postman has now has moved to an upper market where requirements are more advanced and complex. Btw - we use both Postman & cURL
- lysium 5y agoHow do you do version control with your postman scripts? That was the biggest issue on my last project. Plus, if the API moves, we had to (manually) find and fix dozens of Postman tests. I'd appreciate it, if you have some insights that can move my team forward.
- ynouri 5y agoWe face a similar situation and we sometimes introduce API changes that break the monitors, which then requires to manually fix the testing script. The pain hasn’t been big enough yet to make us search for a different solution. Note that we are using Monitors mostly for end to end, user like tests, which represents a small fraction when compared to our unit test suite covering the API (where tests tend to be quite E2E as well). We do use the one way Postman -> Github integration though. Every time a change is done, it is committed to a dedicated Github repo. We use it as a backup in case anybody messes up the scripts
- a85 5y agoYou can do a 2-way sync now! https://blog.postman.com/the-reimagined-api-first-workflow-for-developers/ https://blog.postman.com/the-reimagined-api-first-workflow-f...
- 5y ago
- nr2x 5y agoPretty sure the entire value prop of gRPC is to help Xooglers avoid learning modern tools.
- liyasthomas 5y agoWe're building an open source Postman alternative: Hoppscotch Web app: https://hoppscotch.io https://hoppscotch.io GitHub: https://GitHub.com/hoppscotch/hoppscotch https://GitHub.com/hoppscotch/hoppscotch
- Cthulhu_ 5y agoI've posted this in a reply comment but here's a top level comment as well. The main reason I dislike Postman is not actually the web based interface, but the fact it keeps its data files to itself to try and push teams to using their cloud offerings. If a HTTP client stores its requests and configuration as a plain text file, it becomes really easy to manage it alongside a codebase and share between teams. But alas. That said, I have seen a paid version of postman be used in a company and it worked really well. But it's an expense. An alternative is what is mentioned in the top comment at this time, VS Code's Rest Client or Intellij's built-in rest client, which use plain text files (.http files) with plain text based HTTP request definitions. Those can be executed directly, without hidden functionality, and stored / updated / diffed in git. Another alternative - but this is restricted to HTTP based APIs - is Swagger/OpenAPI combined with Swagger-UI, which is both a documentation page and a demo page. The UX isn't the best, but it works very well imo.
- deleted 5y ago[deleted]