На сервере вы можете развернуть свое приложение как войну. Как построить войну с помощью спрей-сервлета . Локально проще всего работать без сервера приложений.
Мы включили зависимости как спрей-сервлет, так и спрей-баллончик:
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
|
name := "sprayApiExample"version := "1.0"scalaVersion := "2.11.6"libraryDependencies ++= { val akkaV = "2.3.9" val sprayV = "1.3.3" Seq( "io.spray" %% "spray-can" % sprayV, "io.spray" %% "spray-servlet" % sprayV, "io.spray" %% "spray-routing" % sprayV, "io.spray" %% "spray-json" % "1.3.1", //has not been updated yet "com.typesafe.akka" %% "akka-actor" % akkaV )}//This adds tomcat dependencies, you can also use jetty()tomcat() |
Мы делаем черту со всеми общими функциями. Мы расширяем SprayApiServlet и SprayApiCan из него.
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
import akka.actor.{ActorSystem, Props}import akka.io.IOimport akka.pattern.askimport akka.util.Timeoutimport spray.can.Httpimport spray.servlet.WebBootimport scala.concurrent.duration._trait SprayApi { implicit val system = ActorSystem("SprayApiApp") val apiActor = system.actorOf(Props[ApiActor], "apiActor")}//for use with spray-servletclass SprayApiServlet extends WebBoot with SprayApi { override val serviceActor = apiActor}//for use with spray-canobject SprayApiCan extends App with SprayApi { implicit val timeout = Timeout(5.seconds) IO(Http) ? Http.Bind(apiActor, interface = "localhost", port = 8080)} |
- Вы можете увидеть весь пример здесь.
| Ссылка: | Чередование Spray-сервлета и Spray-can от нашего партнера JCG Таммо Сминии в блоге JDriven . |