Использование spray-json marshallers в общей функции маршрутов

Я пишу REST-сервис, используя Spray. Некоторые из маршрутов, которые у меня есть, следуют одному и тому же шаблону (GET /foos, POST /foos, GET /foos/:id и т. Д.), Поэтому я хотел бы выделить эти маршруты в общую функцию, которую я могу вызвать как modelRoutes[Foo]("foos"), modelRoutes[Bar]("bars") и т.п.

Фактические операции с базой данных происходят с чертой Controller[T], и я неявно object FooController extends Controller[Foo] и т.д. Например, def getAll: List[T] на контроллере [T] и def getAll: List[App] на контроллере приложений.

У меня проблема в том, что внутри modelRoutes[T <: Model : Controller](prefix: String)тип модели потерян, поэтому маршаллер [T] и маршаллер [список [T]] не могут быть найдены. Я безуспешно пробовал разные варианты сочетаний и проявлений.

Как я могу правильно взаимодействовать с маршаллером в общей функции?

0 ответов

Другие вопросы по тегам