Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today. Learn more →
Top 9 Scala HTTP Client Projects
-
http4s is a Typelevel project, and therefore falls into the "program in Scala as if it were Haskell" category. Many people find this off-putting, but honestly, I think with the resources listed above, this is the option at the best intersection of "mature" and "well-documented" available in Scala. The reason it's off-putting to many people is that Haskell-style pure FP isn't mainstream, so it isn't so much a matter of learning a new technology as it is a matter of learning a new paradigm, which necessarily means surfacing and unlearning things you already know, and perhaps confronting the uncomfortable feeling that things you thought were "fundamental," "have to be that way," aren't, and don't. I personally found this process liberating. But not everyone does.
-
-
SonarLint
Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.
-
Here I've posted my issue https://github.com/akka/akka-http/issues/4248
-
Project mention: what library/framework should I use for backend development? | /r/scala | 2023-02-21
You're not confined to the usual suggestions below (play, http4s). There's a ton of options. (I wrote test cases using a bunch of different frameworks a few years ago at https://github.com/hohonuuli/msdemos). Having written services using a variety of frameworks in production, I would strongly suggest using one that auto-generates API docs (openapi, swagger) for you. That will save you a huge amount of time later on. For heavier services, like the one at https://fathomnet.org/, I tend to the Java side (Quarkus is my current top choice, but Micronaut and Helidon are both great). For everything else I use Scala. My go-to right now is tapir using a vertx backend. See https://tapir.softwaremill.com/
-
Skinny Framework
:monorail: "Scala on Rails" - A full-stack web app framework for rapid development in Scala
-
zio-http
A next-generation Scala framework for building scalable, correct, and efficient HTTP clients and servers
Project mention: Creating a CLI app with scala and Graal VM: should I switch to Rust? | /r/scala | 2023-08-31For JNI, make sure you have `-H:+JNI` in your native image options. Be aware that Netty is a bit of a monster to include in a native image application (I just recently added it a Netty dependency and it completely broke my project and took a good day to figure out). Mine was through zio-http and I was able to piece together some working options from github issues: https://github.com/zio/zio-http/issues/20.
-
-
Mergify
Updating dependencies is time-consuming.. Solutions like Dependabot or Renovate update but don't merge dependencies. You need to do it manually while it could be fully automated! Add a Merge Queue to your workflow and stop caring about PR management & merging. Try Mergify for free.
-
-
scala-http-client
Extends the akka-http-client with retry logic, error handling, logging and signing
Scala HTTP Client related posts
- Creating a CLI app with scala and Graal VM: should I switch to Rust?
- Akka Fork FUD
- http4s as a replacement for akka-http?
- zio-http, any experiences to share
- Code in jar dependency is packed as java code and can not be used as normal Scala dependency
- Why do all frameworks use OOP? (php)
- Can we all please star our top 15 used Scala libraries ?
-
A note from our sponsor - SonarLint
www.sonarlint.org | 26 Sep 2023
Index
What are some of the best open-source HTTP Client projects in Scala? This list will help you:
Project | Stars | |
---|---|---|
1 | Http4s | 2,456 |
2 | sttp | 1,390 |
3 | Akka HTTP | 1,337 |
4 | tapir | 1,248 |
5 | Skinny Framework | 738 |
6 | zio-http | 690 |
7 | Dispatch | 427 |
8 | Play WS | 215 |
9 | scala-http-client | 4 |