難道下面的一些簡單的自制方法就夠了嗎?需要填補一些空白,但與框架不同的是,您可以隨意組織自己的代碼。
def createRoute[T](entityName: String,
create: (T) => Route, getter: (UUID) => Route,
patcher: (UUID) => Route,
lister: (Map[String, String]) => Route)
(implicit unmarshaller: FromRequestUnmarshaller[T]) = {
pathPrefix(entityName) {
pathEndOrSingleSlash {
post {
entity(as[T]) { e :T ⇒ create(e) }
} ~
pathPrefix(JavaUUID) { id ⇒
pathEndOrSingleSlash {
get {
getter(id)
} ~ patch {
patcher(id)
}
}
}
}
} ~ pathPrefix(entityName + "s") {
parameterMap => { params: Map[String, String] => lister(params)
}
}
}
val apiRoutes1: Route = createRoute[Account]("account", ...) ~
createRoute[Owner]("owner", ...)
這是一個好的開始,但是一想抽象了ID的類型,規範的語法,提供了可選的刪除/放支持,等等等等DreamFactory在阿卡就是我們正在尋找的 – Edmondo1984
CRUD-在整個域模型中使用高級REST API?對於某些情況可能是一個好主意,我仍然必須看到它們。 –
簡單地添加也可以放入,刪除,加上標準參數(即Odata),以及以通用方式提供? – Edmondo1984