endpoints - Scala library to define HTTP-based communication protocols

  •        8

endpoints is a Scala library for defining communication protocols over HTTP between applications. See the documentation to learn more.

http://julienrf.github.io/endpoints
https://github.com/julienrf/endpoints

Tags
Implementation
License
Platform

   




Related Projects

akka-http-scala-js-websocket-chat - An example app that integrates akka-http and scala-js to implement a websocket chat

  •    Scala

A simple chat app that uses akka-http backend and a scala.js frontend to implement a simple websocket based chat application.Navigate to http://localhost:8080/.

reactive-microservices - Project showcasing different microservice communication styles using Scala, Akka, Play and other tools from Scala ecosystem

  •    Scala

Reactive microservices is an Typesafe Activator Template completely devoted to microservices architecture. It lets you learn about microservices in general - different patterns, communication protocols and 'tastes' of microservices. All these concepts are demonstrated using Scala, Akka, Play and other tools from Scala ecosystem. For the sake of clarity, we skipped topics related to deployment and operations. To feel comfortable while playing with this template, make sure you know basics of Akka HTTP which is a cornerstone of this project. We recently released an Akka HTTP activator template that may help you start. At least brief knowledge of Akka remoting, Akka persistence, Akka streams and Play Framework websockets is also highly recommended.

akka-http-microservice - Example of (micro)service written in Scala & akka-http

  •    HTML

The service in the template provides two REST endpoints - one which gives GeoIP info for given IP and another for calculating geographical distance between given pair of IPs. The project uses the service ip-api which offers JSON IP and GeoIP REST API for free for non-commercial use. If you want to read more thorough explaination, check out tutorial.

Akka HTTP - The Streaming-first HTTP server/module of Akka

  •    Scala

The Akka HTTP modules implement a full server- and client-side HTTP stack on top of akka-actor and akka-stream. It's not a web-framework but rather a more general toolkit for providing and consuming HTTP-based services. While interaction with a browser is of course also in scope it is not the primary focus of Akka HTTP.

akka-http-json - Integrate some of the best JSON libs in Scala with Akka HTTP

  •    Scala

Mix ArgonautSupport, FailFastCirceSupport or ErrorAccumulatingCirceSupport, JacksonSupport, Json4sSupport, PlayJsonSupport, UpickleSupport or AvroSupport into your Akka HTTP code which is supposed to (un)marshal from/to JSON. Don't forget to provide the type class instances for the respective JSON libraries, if needed. Contributions via GitHub pull requests are gladly accepted from their original author. Along with any pull requests, please state that the contribution is your original work and that you license the work to the project under the project's open source license. Whether or not you state this explicitly, by submitting any copyrighted material via pull request, email, or other means you agree to license the material under the project's open source license and warrant that you have the legal authority to do so.


squbs - Akka/Akka HTTP for Large-Scale Production Deployments

  •    Scala

squbs (pronounced "skewbs") is a software container and a suite of components enabling standardization and operationalization of Akka and Akka HTTP applications/services in a large scale, managed, cloud environment. It standardizes how Akka applications are deployed in different environments and how they are hooked up to the operational environments of large, internet-scale organizations.Also check out these slightly more advanced samples.

connexion - Swagger/OpenAPI First framework for Python on top of Flask with automatic endpoint validation & OAuth2 support

  •    Python

Connexion is a framework on top of Flask that automagically handles HTTP requests based on OpenAPI 2.0 Specification (formerly known as Swagger Spec) of your API described in YAML format. Connexion allows you to write a Swagger specification, then maps the endpoints to your Python functions; this makes it unique, as many tools generate the specification based on your Python code. You can describe your REST API in as much detail as you want; then Connexion guarantees that it will work as you specified.With Connexion, you write the spec first. Connexion then calls your Python code, handling the mapping from the specification to the code. This incentivizes you to write the specification so that all of your developers can understand what your API does, even before you write a single line of code.

jwt-scala - JWT support for Scala. Bonus extensions for Play, Play JSON, Json4s, Circe and uPickle

  •    Scala

Scala support for JSON Web Token (JWT). Supports Java 1.6+, Scala 2.11.x and Scala 2.12.x. Optional helpers for Play Framework, Play JSON, Json4s Native, Json4s Jackson, Circe and uPickle.JWT Scala is divided in several sub-projects each targeting a specific use-case. Depending on your need, you want to pick the right one.

sttp - The Scala HTTP client you always wanted!

  •    Scala

sttp is an open-source library which provides a clean, programmer-friendly API to define HTTP requests and execute them using one of the wrapped backends, such as akka-http, async-http-client or OkHttp. sttp documentation is available at sttp.readthedocs.io.

finch - Scala combinator library for building Finagle HTTP services

  •    Scala

Finch is a thin layer of purely functional basic blocks atop of Finagle for building composable HTTP APIs. Its mission is to provide the developers simple and robust HTTP primitives being as close as possible to the bare metal Finagle API. Every Finch module is published at Maven Central. Use the following sbt snippet ...

Circe - A JSON library for Scala

  •    Scala

Circe is a JSON library for Scala (and Scala.js).

swagger-js - Javascript library to connect to swagger-enabled APIs via browser or nodejs

  •    Javascript

Swagger Client is a JavaScript module that allows you to fetch, resolve, and interact with Swagger/OpenAPI documents. This is the new version of swagger-js, 3.x. The new version supports Swagger 2.0 as well as OpenAPI 3.

alpakka - Alpakka is a Reactive Enterprise Integration library for Java and Scala, based on Reactive Streams and Akka

  •    Scala

Systems don't come alone. In the modern world of microservices and cloud deployment, new components must interact with legacy systems, making integration an important key to success. Reactive Streams give us a technology-independent tool to let these heterogeneous systems communicate without overwhelming each other. The Alpakka project is an open source initiative to implement stream-aware, reactive, integration pipelines for Java and Scala. It is built on top of Akka Streams, and has been designed from the ground up to understand streaming natively and provide a DSL for reactive and stream-oriented programming, with built-in support for backpressure. Akka Streams is a Reactive Streams and JDK 9+ java.util.concurrent.Flow-compliant implementation and therefore fully interoperable with other implementations.

akka-http-rest - Example of reactive REST service written on akka-http with slick

  •    Scala

Goal of example is to show how create reactive REST services on Lightbend stack with Akka and Slick. Example contains complete REST service for entity interaction.

alpakka-kafka - Alpakka Kafka connector - Alpakka is a Reactive Enterprise Integration library for Java and Scala, based on Reactive Streams and Akka

  •    Scala

Systems don't come alone. In the modern world of microservices and cloud deployment, new components must interact with legacy systems, making integration an important key to success. Reactive Streams give us a technology-independent tool to let these heterogeneous systems communicate without overwhelming each other. The Alpakka project is an open source initiative to implement stream-aware, reactive, integration pipelines for Java and Scala. It is built on top of Akka Streams, and has been designed from the ground up to understand streaming natively and provide a DSL for reactive and stream-oriented programming, with built-in support for backpressure. Akka Streams is a Reactive Streams and JDK 9+ java.util.concurrent.Flow-compliant implementation and therefore fully interoperable with other implementations.

akka-quartz-scheduler - Quartz Extension and utilities for cron-style scheduling in Akka

  •    Scala

Quartz Extension and utilities for true scheduling in Akka 2.5.x. Current release is built for Scala 2.12.x and Akka 2.5.x and is available on Maven Central. If you would like support for a different combination of Scala and Akka, simply post your request on the issues page (as well as a reason as to why the currently available versions won't work for you. I'm always curious about these things).

udash-core - Scala framework for building beautiful and maintainable web applications.

  •    Scala

Udash is a Scala.js framework for building beautiful and maintainable web applications. In cooperation with Scalatags and ScalaCSS libraries, Udash provides a type safe layer over HTML, CSS and JS with powerful data binding into DOM templates.

spray - A suite of scala libraries for building and consuming RESTful web services on top of Akka: lightweight, asynchronous, non-blocking, actor-based, testable

  •    Scala

spray is no longer maintained and has been superseded by Akka HTTP. Please check out the migration guide for help with the upgrade.

akka-http-session - Web & mobile client-side akka-http sessions, with optional JWT support

  •    Java

akka-http is an Akka module, originating from spray.io, for building reactive REST services with an elegant DSL. akka-http is a great toolkit for building backends for single-page or mobile applications. In almost all apps there is a need to maintain user sessions, make sure session data is secure and cannot be tampered with.

xitrum - Async and clustered Scala web framework and HTTP(S) server

  •    Scala

Please see Xitrum home page for more details. Xitrum is an async and clustered Scala web framework on top of Netty, Akka, and Hazelcast. It also has a fast built-in HTTP(S) server.