我刚接触过Akka HTTP,并试图编写我的第一个API。路由DSL似乎有点混乱。
我成功地匹配了以下内容:
/channel /信道/信道名称
但现在我需要匹配以下几点:
/信道/信道名称/信道行动
我不能让它起作用。
我目前有:
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,用于/channel/channel channel/channel channelName
知道这是怎么做的吗?(提取channelName和channelAction)
发布于 2018-11-16 06:38:38
你可以匹配
path("channel" / Segment / Segment){
(channelName, channelAction) => ...
}
请注意,对于不同类型的参数,您必须匹配不同的内容。Segment
代表String
,IntNumber
代表Int
.
https://stackoverflow.com/questions/53337798
复制