rest:Haskell的REST开源框架

近日,Silk开源了Haskell的一个REST框架,叫作“rest”,rest为REST服务的定义提供了DSL,它能够在目前主流的web框架中运行,如happstack框架。rest具有类型安全的URL、抽象的格式类型、业务逻辑和API细节完全分离等特性。

rest 由以下三个主要的组件构成:

  • rest-core: 用来版本化定义REST资源的DSL
  • rest-gen:从一个API自动生成文档以及Haskell、JavaScript 和Ruby客户端
  • rest-snap、 rest-happstack、rest-wai:使用相应的WEB服务器运行资源的驱动

rest还包括其他一些包,如rest-client、rest-types、 json-schema、 generic-aeson等包,这些包可以被rest调用或者与rest一起使用。读者可以从rest发布的公告中,获得更多详细信息。

流行的Haskell Web框架已经提供了诸如类型安全的URL、路由、模板等功能。然而,使用rest主要优势是允许开发者实现业务逻辑和API定义的分离,如路由、解析和序列化输入/输出、支持特定资源的请求类型。为了做到这一点,rest提供了多种智能的构造函数,开发者可以用这些构造函数封装为自己的强类型函数。

开发者可以查看相关教程,获得更多rest相关信息或者使用rest。

查看英文原文:http://www.infoq.com/news/2014/07/rest-haskell

感谢曹知渊对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至[email protected]。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

你可能感兴趣的:(rest:Haskell的REST开源框架)