【发布时间】:2018-08-23 21:38:52
【问题描述】:
给定List("segment1", IntNumber, "segment2"),如何生成路由?似乎没有什么好的方法可以做到这一点。我试过path(list.reduceLeft(_ / _)) 不起作用,因为它的签名是(T, T) => T。
我怎样才能实现这样的目标? path(List("not", "known", "in", "advance")) -> /not/known/in/advance
编辑:
这是场景 - 一个字符串以 "something/{pathParam}/somethingElse" 出现,我希望将其转换为 "something" / Segment (or whatever value) / "somethingElse"。要获取 Segment 值,我只需将“{}”包围的整个字符串替换为该值,一旦它在列表中。
【问题讨论】:
-
list.reduceLeft(_ + "/" + _) -
@mfirry 这不起作用,一旦将不相似的类型添加到列表中,我们就失去了类型一致性。 reduceLeft 的签名是必需的 (T, T) => T.