基于akka-http搭建restfull框架

Posted netsharp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于akka-http搭建restfull框架相关的知识,希望对你有一定的参考价值。

1.scala开发环境介绍

2.scala插件的demo模板介绍

3.akka-http提供demo研究

4.添加路由机制解析

 

package org.netsharp.rest

import akka.actor.ActorSystem
import akka.http.scaladsl.Http
import akka.http.scaladsl.model.{ContentTypes, HttpEntity}
import akka.http.scaladsl.server.Directives._
import akka.stream.ActorMaterializer

import scala.io.StdIn

object WebServer {

  def main(args:Array[String]):Unit={

    implicit val system = ActorSystem("netsharp")
    implicit val materializer = ActorMaterializer()
    implicit val executionContext = system.dispatcher

    val userRoute = path("user"){
      get{
        complete(HttpEntity(ContentTypes.`text/html(UTF-8)`, "<h1>Say user to akka-http</h1>"))
      }
    }

    val orderRoute = path("order"){
      get{
        complete(HttpEntity(ContentTypes.`text/html(UTF-8)`, "<h1>Say order to akka-http</h1>"))
      }
    }

    val customerRoute = path("customer"){
      get{
        complete(HttpEntity(ContentTypes.`text/html(UTF-8)`, "<h1>Say customer to akka-http</h1>"))
      }
    }

    val routes =
      pathPrefix("v1") {
        userRoute ~ orderRoute ~ customerRoute
      } ~ path("")(getFromResource("public/index.html"))

    val bindingFuture = Http().bindAndHandle(routes,"localhost",80)

    println(s"Server online at http://localhost:80/
Press RETURN to stop...")

    StdIn.readLine()

    bindingFuture.flatMap(_.unbind())
      .onComplete(_=>system.terminate())
  }
}

  

 

5.akka-http与actor结合

 

以上是关于基于akka-http搭建restfull框架的主要内容,如果未能解决你的问题,请参考以下文章

restfull环境搭建-helloword

restfull环境搭建-helloword

Spring Boot基础-RESTfull API简单项目的快速搭建

restfull api 和 web框架的区别

Yii2.0框架Restfull API开发攻略

Express 是一个方便开发者的 web 框架,可以让开发者可以方便地处理路由,Cookie, 静态文件,上传文件, RESTFULL风格等等常见操作。