protoroutes runtime-play26


License

License

MIT
GroupId

GroupId

com.github.hirofumi
ArtifactId

ArtifactId

protoroutes-runtime-play26_2.12
Last Version

Last Version

0.1.0-M1
Release Date

Release Date

Type

Type

jar
Description

Description

protoroutes runtime-play26
protoroutes runtime-play26
Project URL

Project URL

https://github.com/hirofumi/protoroutes
Project Organization

Project Organization

com.github.hirofumi
Source Code Management

Source Code Management

https://github.com/hirofumi/protoroutes

Download protoroutes-runtime-play26_2.12

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.hirofumi/protoroutes-runtime-play26_2.12/ -->
<dependency>
    <groupId>com.github.hirofumi</groupId>
    <artifactId>protoroutes-runtime-play26_2.12</artifactId>
    <version>0.1.0-M1</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.hirofumi/protoroutes-runtime-play26_2.12/
implementation 'com.github.hirofumi:protoroutes-runtime-play26_2.12:0.1.0-M1'
// https://jarcasting.com/artifacts/com.github.hirofumi/protoroutes-runtime-play26_2.12/
implementation ("com.github.hirofumi:protoroutes-runtime-play26_2.12:0.1.0-M1")
'com.github.hirofumi:protoroutes-runtime-play26_2.12:jar:0.1.0-M1'
<dependency org="com.github.hirofumi" name="protoroutes-runtime-play26_2.12" rev="0.1.0-M1">
  <artifact name="protoroutes-runtime-play26_2.12" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.hirofumi', module='protoroutes-runtime-play26_2.12', version='0.1.0-M1')
)
libraryDependencies += "com.github.hirofumi" % "protoroutes-runtime-play26_2.12" % "0.1.0-M1"
[com.github.hirofumi/protoroutes-runtime-play26_2.12 "0.1.0-M1"]

Dependencies

compile (4)

Group / Artifact Type Version
org.scala-lang : scala-library jar 2.12.4
com.typesafe.play : play_2.12 jar 2.6.10
com.thesamet.scalapb : scalapb-runtime-grpc_2.12 jar 0.7.0-rc6
com.thesamet.scalapb : scalapb-json4s_2.12 jar 0.7.0-rc1

test (2)

Group / Artifact Type Version
org.scalatest : scalatest_2.12 jar 3.0.4
org.scalatestplus.play : scalatestplus-play_2.12 jar 3.1.2

Project Modules

There are no modules declared in this project.

protoroutes

Build Status Maven Central

Protoroutes is an sbt plugin which can generate the following from .proto file.

  • Play Framework's Router which handles Protocol Buffers and JSON requests
  • Scala.js client which communicates with the Router
++---------------++
||               ||  protoroutes   +-----------------+
||               || =============> | Scala.js client |
||               ||                +-----------------+
||               ||                     ^                    +-----------------+
||               ||                     | +----------------->| REST API client |
||               ||                     | |                  +-----------------+
||               ||       REST API (PB) \ / REST API (JSON)
|| service.proto ||                      |
||               ||                      v
||               ||  protoroutes   +----------------+
||               || =============> | Play Router    |
||               ||                +----------------+
||               ||                | Your own       |
||               ||                | implementation |
||               ||                | of `service`   |
||               ||  ScalaPB       +----------------+
||               || =============> | gRPC Interface |
||               ||                +----------------+
++---------------++                      ^
                                    gRPC |                   +-----------------+
                                         +------------------>| gRPC client     |
                                                             +-----------------+

The idea of protoroutes is based on btlines/grpcgateway.

Examples

Versions

Version
0.1.0-M1