Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 类型不匹配,应为:(HNil)=>;路线。路线,实际:标准路线_Scala_Routing - Fatal编程技术网

Scala 类型不匹配,应为:(HNil)=>;路线。路线,实际:标准路线

Scala 类型不匹配,应为:(HNil)=>;路线。路线,实际:标准路线,scala,routing,Scala,Routing,我对Scala非常陌生,并尝试使用SBT编写一个Spray API示例进行实践,但遇到以下问题 import spray.routing.SimpleRoutingApp import akka.actor.ActorSystem object ScalaBay extends App with SimpleRoutingApp { implicit val actorSystem = ActorSystem() startServer(interface = "l

我对Scala非常陌生,并尝试使用SBT编写一个Spray API示例进行实践,但遇到以下问题

 import spray.routing.SimpleRoutingApp 
 import akka.actor.ActorSystem 
 object ScalaBay extends App with SimpleRoutingApp { 
    implicit val actorSystem = ActorSystem() 
    startServer(interface = "localhost", port = 8080) { 
         get { path("hello") { 
            complete { "welcome" } 
               } 
         } 
    } 
 } 

  • 我使用spray和Akka创建了一个路由API
  • 一旦服务器以localhost地址启动,一旦它获得path=“hello”,它应该会完成一些成功消息
  • 但是在给出路径后,在路由到时出现错误“类型不匹配,预期:(HNil)=>routing.Route,实际:StandardRoute”

  • 请帮助我解决这个问题。

    我认为有一个地方需要使用lambda语法,因为输入是一个函数,而不是一个值,正如错误所暗示的那样<在Spray routing中,code>HNil表示您没有定义要从路由中提取的参数或实体,因此定义的函数是从
    HNil
    中定义的,空的
    HList
    类型,但它的形式是
    HNil=>routing.route
    ,因此您需要在某个地方使用

     import spray.routing.SimpleRoutingApp 
     import akka.actor.ActorSystem 
     object ScalaBay extends App with SimpleRoutingApp { 
        implicit val actorSystem = ActorSystem() 
        startServer(interface = "localhost", port = 8080) { 
             get { path("hello") { _ => 
                complete("welcome")
               } 
             } 
        } 
     } 
    

    我认为有一个地方需要使用lambda语法,因为输入是一个函数,而不是一个值,就像错误所暗示的那样<在Spray routing中,code>HNil
    表示您没有定义要从路由中提取的参数或实体,因此定义的函数是从
    HNil
    中定义的,空的
    HList
    类型,但它的形式是
    HNil=>routing.route
    ,因此您需要在某个地方使用

     import spray.routing.SimpleRoutingApp 
     import akka.actor.ActorSystem 
     object ScalaBay extends App with SimpleRoutingApp { 
        implicit val actorSystem = ActorSystem() 
        startServer(interface = "localhost", port = 8080) { 
             get { path("hello") { _ => 
                complete("welcome")
               } 
             } 
        } 
     } 
    

    谢谢@flavian的帮助。请看下面的错误,我仍然得到修改后的代码按照您的建议。类型不匹配,应为:(HNil)=>路由。路由,实际:(RequestContext)=>单元。您能告诉我如何在IntelliJ IDE中解决这个问题吗。谢谢。谢谢@flavian的帮助。请看下面的错误,我仍然得到修改后的代码按照您的建议。类型不匹配,应为:(HNil)=>路由。路由,实际:(RequestContext)=>单元。您能告诉我如何在IntelliJ IDE中解决这个问题吗。谢谢