2015-10-30 2 views
0

У меня есть следующий код для выполнения. I может выполнять оба блока пути с двумя запросами на завивки, но я хочу выполнить оба блока пути с одним запросом на завивание или я могу перенаправить с 1-го состояния пути на secod путь 1:Выполнение нескольких путей с помощью одного запроса на завивание

import akka.actor.ActorSystem 
import spray.routing.SimpleRoutingApp 
import spray.json.DefaultJsonProtocol._ 
object Server1 extends App with SimpleRoutingApp{ 
    implicit val actorSystem = ActorSystem()   
    startServer(interface="localhost",port = 8080){ 
     println("Listening...")   
     get{ 
      println("incoming..") 
      path("state"){ 
       complete{ 
        "in first path" 
       } 
      } 
      path("1"){ 
       complete{ 
        "in another path" 
       } 
      } 
     } 
    } 
} 
+0

если вы хотите синтаксическое решение для завивки; curl localhost: 8080/{state, 1} должен выполнять работу –

+1

Что мешает вам заменить «в первом пути» на функцию, например 'runState()', которую вы вызываете из «path» («state») »и 'path (" 1 ")'? –

ответ

0

Если вам нужны оба state и 1 пути независимо друг от друга, а также нужен путь, который выполняет оба обновления (предположительно, по причинам производительности) вы можете добавить третий путь, который выполняет обе функции с одним запросом

def doFirst = ... 
def doOne = ... 

    get{ 
     println("incoming..") 
     path("state"){ 
      complete{ 
       doState() 
      } 
     } 
     path("1"){ 
      complete{ 
       doOne() 
      } 
     } 
     path("stateAnd1"){ 
      complete{ 
       doState() 
       doOne() 
      } 
     } 
    } 
Смежные вопросы