Scala 在泛型routes函数中使用spray json封送器

Scala 在泛型routes函数中使用spray json封送器,scala,generics,spray,spray-json,Scala,Generics,Spray,Spray Json,我正在用喷雾剂写一个休息服务。我的几个路由遵循相同的模式(GET/foos、POST/foos、GET/foos/:id等),因此我想将这些路由分解成一个通用函数,我可以调用它,比如modelRoutes[Foo](“foos”),modelRoutes[Bar](“Bar”)等 实际的数据库操作发生在Controller[T]trait上,我有隐式的对象FooController extensed Controller[Foo]等。例如,Controller[T]上的def getAll:Li

我正在用喷雾剂写一个休息服务。我的几个路由遵循相同的模式(GET/foos、POST/foos、GET/foos/:id等),因此我想将这些路由分解成一个通用函数,我可以调用它,比如
modelRoutes[Foo](“foos”)
modelRoutes[Bar](“Bar”)

实际的数据库操作发生在Controller[T]trait上,我有隐式的
对象FooController extensed Controller[Foo]
等。例如,Controller[T]上的
def getAll:List[T]
和AppController上的
def getAll:List[App]


我遇到的问题是,在
modelRoutes[T中,对于引擎盖下的问题,您可能还想尝试Spray论坛:。您是否已经尝试过
modelRoutes[T@jrudolph,我不知道您可以这样堆叠类型类。
modelRoutes[T如果我显式地将所有封送拆收器添加为隐式参数,那么它似乎确实有效:
defmodelroutes[T是的,这是因为在方法内部需要泛型
Marshaller[T]
无法从类型推断。在调用
modelRoutes
时,您拥有具体的类型,而在上面的
modelRoutes
方法中声明类型类可以使它们在方法中可用。