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。
特此免費授予獲得此軟件副本和相關文檔文件副本(“軟件”)的任何人,以無限制處理該軟件,包括無限制的使用權,複製,複製,修改,合併,合併,發布,分發,分發,分發,訂婚,和/或允許軟件的副本,並允許對以下條件提供以下條件,以下是以下條件。
上述版權通知和此許可通知應包含在軟件的所有副本或大量部分中。
該軟件是“原樣”提供的,沒有任何形式的明示或暗示保證,包括但不限於適銷性,特定目的的適用性和非侵權的保證。在任何情況下,作者或版權持有人都不應對任何索賠,損害賠償或其他責任責任,無論是在合同,侵權的訴訟中還是其他責任,是由軟件,使用或與軟件中的使用或其他交易有關的。