Scala 在泛型routes函数中使用spray json封送器
我正在用喷雾剂写一个休息服务。我的几个路由遵循相同的模式(GET/foos、POST/foos、GET/foos/:id等),因此我想将这些路由分解成一个通用函数,我可以调用它,比如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
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
方法中声明类型类可以使它们在方法中可用。