Vas*_*iuk 6 rest scala scalatra
scalatra是否在幕后使用抑扬(或反之亦然)?它们之间的主要区别是什么,你会使用哪一个?
这两个框架都受到Sinatra的启发,并且外观相同.
使用scalatra请求路由:
class ScalatraExample extends ScalatraServlet {
get("/date/:year/:month/:day") {
<ul>
<li>Year: {params("year")}</li>
<li>Month: {params("month")}</li>
<li>Day: {params("day")}</li>
</ul>
}
Run Code Online (Sandbox Code Playgroud)
circumflex中的示例代码:
class Main extends RequestRouter {
get("/posts/:id") = "Post #" + uri("id")
}
}
Run Code Online (Sandbox Code Playgroud)
Scalatra 开发人员之一 Ross A. Baker 最近评论了 Circu、flex 和 Scalatra 之间的区别:
\n\n\n\n它们表面上非常相似,\n 尽管我认为每个都有其优点。\n 以下是我看到的一些差异:
\n\n模板化:Scalatra 与 Scalate 集成,Circumflex 与 Freemarker 集成。
\n\n路由:Circumflex 对于标头匹配有更好的糖,但 Scalatra 允许您匹配任意布尔值(即,用于站点维护的全局标志)
\n\nORM:Circumflex 有一个,Scalatra\n 没有\xe2\x80\x99t。我知道 Scalatra 用户\n 使用 Squeryl、Querulous、Scala-Query、\n ORMBroker,还有 Circumflex-ORM。\n 这些集成很简单,而且我认为使用 Circumflex 也很简单。
\n\nAuth:Scalatra 在其最新快照中有一个 auth 模块,而 Circumflex 没有。
\n\ni18n:Circumflex 有消息包糖,Scalatra 没有。
\n\n测试:Scalatra 还包含一个很好的\n DSL 用于测试;我\xe2\x80\x99m不知道\n有任何类似的Circumflex。
\n