1

我正在使用 Spray 编写 REST 服务。我有几条路线遵循相同的模式(GET /foos、POST /foos、GET /foos/:id 等),所以我想将这些路线分解成一个我可以调用的通用函数,比如modelRoutes[Foo]("foos")modelRoutes[Bar]("bars")

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

我遇到的问题是在里面modelRoutes[T <: Model : Controller](prefix: String),模型的类型丢失了,所以 Marshaller[T] 和 Marshaller[List[T]] 找不到。到目前为止,我已经尝试了各种隐含和清单的排列,但没有运气。

如何在通用函数中正确地与 Marshaller 交互?

4

0 回答 0