relationship_type": { "name": "event", "parent": "1" }, "host": ["Lee", "Troy"], "title": "Liberator...Liberator is a ring-compatible web framework based on Erlang Webmachine....}, "host" : [ "Lee", "Troy" ], "title" : "Liberator...Liberator is a ring-compatible web framework based on Erlang Webmachine....fields" : { "event_id" : [ "100" ], "title" : [ "Liberator
任何应用的架构和API可以被快速理解; 2.分布式环境下,任何请求都可以被发送到任意服务器; 3.异构环境下,任何资源的访问和使用方式都统一; 状态码 关于状态码推荐阅读: http://clojure-liberator.github.io.../liberator/doc/decisions.html ?
以上仅仅是最基本的一些考虑,要做到完全符合RFC,除了参考RFC本身以外,erlang社区的webmachine或者clojure下的liberator都是不错的实现,是目前为数不多的REST API...(liberator的decision tree,沿袭了webmachine的思想,请自行google其文档查看大图) 安全性 前面说过,REST API承前启后,是系统暴露给外界的接口,所以,其安全性非常重要...Clojure:liberator。 其它语言接触不多,就不介绍了。
当时我正好在研究 clojure,便拿了 liberator 来看。...Liberator 受 erlang 下的 webmachine 启发,用简单的 macro 把 decision tree 实现得很优雅。...我读 webmachine,完全是 liberator 的引荐,liberator 的作者说其 decision tree 来自于 webmachine,并附了图。...我们对比一下三个 API framework 的代码量:liberator 1.2k,webmachine 5k,eve 12k。...读 liberator 的感觉像是楚辞,优美但晦涩;读 webmachine 的感觉像是数学教材,满纸都是递归推导;读 eve 的感觉像是读本科生的论文,完成了功能而已,读完没啥印象,倒是有些反面教材:
(如果你对此感兴趣,可以 google:webmachine decision flow) 另一个小众语言 clojure 的小众框架 liberator 也把 webmachine 的这一思想学了过去...,并发扬光大: (请 google:liberator decision graph) 我曾经一度把玩过 liberator,相对于我当时在生产环境使用的比较流行的 eve 和 django rest...framework 来说, liberator 真的是优秀很多。...在加入 Tubi,理顺我们当下的 API 结构后,我便以 eve 和 liberator 为蓝图,nodejs restify 为基石,尝试着构建了一个 UAPI 系统,目的是以 pipeline 的形式处理
summer in ~ ➜ lspci | grep -i raid 01:00.0 RAID bus controller: Broadcom / LSI MegaRAID SAS 2108 [Liberator
overtone 报表工具库: http://incanter.org/ 定时任务框架: http://clojurequartz.info webservices http://clojure-liberator.github.com
其中就有世界上第一款 3D 打印手枪“解放者”(The Liberator)。Wilson 被美国政府迅速注意到,正是因为“解放者”的制作文件在网上传播开来,迅速有了 10 万次的下载量。
解放者(Liberator):他们为人们的最佳思维和工作创造环境。 挑战者(Challenger):他们创造机会,使员工不断进步。
"_routing" : "1", "_source" : { "title" : "Liberator
领取专属 10元无门槛券
手把手带您无忧上云