Yada是一个用于Clojure的网络库,旨在支持通过HTTP创建生产服务。
它具有以下功能:
Yada是BIDI的同级库 - 而BIDI基于数据作为数据,而Yada则基于资源作为数据。
最新版本的用户手册可在https://juxt.pro/yada和Offline(见下文)上获得。
在LeanPub上,该用户手册也可作为电子书或PDF获得。
对于最新的稳定版本, build.boot在您的project.clj中添加以下依赖项。
[yada "1.2.15"]
对于最新的Alpha版本,将以下依赖关系添加到您的project.clj或build.boot文件:
[yada "1.3.0-alpha9"]
通常,Yada处理程序是根据数据中表达的配置创建的。
( require '[yada.yada :as yada])
( yada/handler
{ :methods
{ :get
{ :produces " text/html "
:response " <h1>Hello World!</h1> " }}})这是一个简单的例子,Yada的选项比这里可以表达的要多得多,但是方法是相同的。数据配置可以是手工作者的,也可以通过编程领先的,从而在工业范围内创建一致的API。
Yada需要以下内容: -
对其他网络服务器(例如Undertow)的支持正在路线图上。
如果要确保您的代码不会与Yada的未来发行版中断,则应仅使用yada.yada名称空间中的函数。
您可以自由使用YADA的其他公共功能,但是请注意,这些功能可以并且确实可以在发行之间进行更改。
默认情况下,Yada是电池,包括电池,带来了许多依赖。
但是,可以使用更精简版的Yada版本,可削减Swagger,Swagger-UI,Json(Cheshire),Transit,Buddy,Core.Async,SSE和其他脂肪。
以下差异适用:
要使用YADA的精益(或任何其他)变体,请在您的project.clj中指定适当的分类器。Clj或build.boot文件:
[yada/lean " 1.2.15 " ]尽管Yada是一个库,但是如果您克隆此存储库,则可以运行文档和示例中的示例。
cd yada
lein repl
一旦启动启动,输入并运行以下内容: -
user> (dev)
dev> (go)
现在浏览到http:// localhost:8090。
问:我正在从Yada 1.1之前的版本中迁移,而我的异步倍部分和其他上传不起作用,有时会抛出NullPoInterExceptions或其他错误。
答:要么使用Yada的内置Yada.Server函数,要么确保使用raw-stream? :true 。 Yada的先前版本将这些设置留给了用户,但在Yada 1.1中非常重要?设置。
Yadarians主要在Slack Channel中聊天,还有一个专用的Gitter频道
此外,还有一个讨论小组yada-discuss讨论思想。
随时在此存储库上提出GitHub问题。
欢迎拉动请求。请运行测试套件,并在提交之前检查所有测试是否通过。
$ lein test
如果要构建和测试自己的Yada版本,则需要了解如何在本地安装自己的版本。由于Yada被分解为多个Maven罐子,每个罐子都有自己的版本声明,因此有一个脚本使您可以将版本设置为所需的任何内容。
$ ./set-version 1.3.0-MS-SNAPSHOT
与其使用lein install ,不如用./treelein替换lein 。
例如:
$ ./treelein install
这将将所有Yada罐子安装到您当地的Maven存储库中。
感谢以下人员的灵感,贡献,反馈和建议。
另外,请参见依赖项列表。特别是,如果没有以下图书馆后面的人们的巨大努力,Yada肯定不会存在。
麻省理工学院许可证(MIT)
版权所有©2015-2016 Juxt Ltd。
特此免费授予获得此软件副本和相关文档文件副本(“软件”)的任何人,以无限制处理该软件,包括无限制的使用权,复制,复制,修改,合并,合并,发布,分发,分发,分发,订婚,和/或允许软件的副本,并允许对以下条件提供以下条件,以下是以下条件。
上述版权通知和此许可通知应包含在软件的所有副本或大量部分中。
该软件是“原样”提供的,没有任何形式的明示或暗示保证,包括但不限于适销性,特定目的的适用性和非侵权的保证。在任何情况下,作者或版权持有人都不应对任何索赔,损害赔偿或其他责任责任,无论是在合同,侵权的诉讼中还是其他责任,是由软件,使用或与软件中的使用或其他交易有关的。