我正在使用Spray编写REST服务。我遵循的几条路线都遵循相同的模式(GET / foos,POST / foos,GET / foos /:id等),所以我想将这些路由分解为一个我可以调用的泛型函数{ {1}},modelRoutes[Foo]("foos")
等。
实际的数据库操作发生在Controller [T] trait上,我有隐式modelRoutes[Bar]("bars")
等。例如,{@ 1}}在Controller [T]上,object FooController extends Controller[Foo]
在AppController上。< / p>
我遇到的问题是在def getAll: List[T]
内部,模型的类型丢失了,因此无法找到Marshaller [T]和Marshaller [List [T]]。到目前为止,我已经尝试过各种各样的暗示和表现,但没有运气。
如何在通用函数中正确地与Marshaller交互?