代码之家  ›  专栏  ›  技术社区  ›  Fede E.

AKKA HTTP中有点复杂的路径匹配

  •  1
  • Fede E.  · 技术社区  · 6 年前

    我是AKKAHTTP的新手,正在尝试编写我的第一个API。路由DSL看起来有点混乱。

    我设法匹配了以下内容:

    /通道 /通道/ 栏目名称

    但现在我需要匹配以下内容:

    /通道/ 栏目名称 / 沟道作用

    我不能让它工作。

    我目前有:

    private val routes: Route =
        path("channel") {
          get {
            reportAllChannelsStatus()
          }
        } ~
        pathPrefix("channel" / Remaining) { channelName =>
          get {
            singleChannelRequest(channelName, status)
          } ~
          post {
            entity(as[ChannelRequest]) { request =>
              singleChannelRequest(channelName, request.channelAction)
            }
          }
        } ~
        completeWith404()
    

    我想添加get和post for/channel/ 栏目名称 / 沟道作用

    知道怎么做吗?(同时提取 栏目名称 沟道作用 )

    1 回复  |  直到 6 年前
        1
  •  2
  •   C4stor    6 年前

    你可以匹配

    path("channel" / Segment / Segment){
       (channelName, channelAction) => ...
    }
    

    请注意,对于不同类型的参数,您必须匹配不同的内容。 Segment 是为了 String , IntNumber 将是 Int ……