Yada adalah perpustakaan web untuk Clojure, yang dirancang untuk mendukung pembuatan layanan produksi melalui HTTP.
Ini memiliki fitur berikut:
Yada adalah perpustakaan saudara kandung ke Bidi - sedangkan Bidi didasarkan pada rute sebagai data , yada didasarkan pada sumber daya sebagai data .
Pengguna-manual untuk rilis terbaru (1.x) tersedia di https://juxt.pro/yada dan offline (lihat di bawah).
Pengguna-manual juga tersedia sebagai e-book atau PDF, di LeanPub.
Untuk rilis stabil terbaru, tambahkan ketergantungan berikut ke file project.clj atau build.boot Anda:
[yada "1.2.15"]
Untuk rilis alpha terbaru, tambahkan ketergantungan berikut ke file project.clj atau build.boot Anda:
[yada "1.3.0-alpha9"]
Biasanya, penangan yada dibuat dari konfigurasi yang dinyatakan dalam data.
( require '[yada.yada :as yada])
( yada/handler
{ :methods
{ :get
{ :produces " text/html "
:response " <h1>Hello World!</h1> " }}})Ini adalah contoh sederhana, ada lebih banyak pilihan dalam yada daripada yang bisa diungkapkan di sini, tetapi pendekatannya sama. Konfigurasi data dapat ditulis tangan, atau dihasilkan secara terprogram yang memungkinkan pembuatan API yang konsisten pada skala industri.
yada membutuhkan yang berikut:-
Dukungan untuk server web lainnya, seperti Undertow, ada di peta jalan.
Jika Anda ingin memastikan bahwa kode Anda tidak akan pecah dengan rilis yada di masa mendatang, Anda hanya boleh menggunakan fungsi dari namespaces yada.yada . Yada.
Anda bebas menggunakan fungsi publik lainnya dalam yada, tetapi harap diperingatkan bahwa ini dapat dan melakukan perubahan di antara rilis.
Secara default, yada adalah baterai-termasuk, membawa sejumlah besar dependensi.
Namun, versi yada yang lebih ramping tersedia yang memotong kesombongan, Swagger-UI, JSON (Cheshire), Transit, Buddy, Core.async, SSE, dan lemak lainnya.
Perbedaan berikut berlaku:
Untuk menggunakan varian lean (atau lainnya) dari yada, tentukan classifier yang sesuai di project.clj Anda atau file build.boot :
[yada/lean " 1.2.15 " ]Meskipun yada adalah perpustakaan, jika Anda mengkloning repo ini, Anda dapat menjalankan dokumentasi dan contoh -contoh dari repl.
cd yada
lein repl
Setelah rept dimulai, ketik dan jalankan yang berikut:-
user> (dev)
dev> (go)
Sekarang telusuri http: // localhost: 8090.
Q. Saya bermigrasi dari versi sebelum Yada 1.1 dan multipart async saya dan unggahan lainnya tidak berfungsi, kadang -kadang melempar nullpointerexceptions atau kesalahan lainnya.
A. Baik menggunakan yada yada yada raw-stream? :true . Versi yada sebelumnya meninggalkan pengaturan ini hingga pengguna tetapi sangat penting dalam yada 1.1 aliran mentah itu? diatur.
Yadarian kebanyakan mengobrol di saluran slack plus ada juga saluran saluran gitter khusus
Juga, ada kelompok diskusi-discus untuk membahas ide-ide.
Jangan ragu untuk mengangkat masalah gitub di repositori ini.
Permintaan tarik dipersilakan. Harap jalankan test suite dan periksa apakah semua tes lulus sebelum pengiriman.
$ lein test
Jika Anda ingin membangun dan menguji versi yada Anda sendiri, Anda harus mengetahui cara menginstal versi Anda sendiri secara lokal. Karena yada dipecah menjadi beberapa stoples Maven, masing -masing dengan deklarasi versi mereka sendiri, ada skrip yang memungkinkan Anda untuk mengatur versi untuk apa pun yang Anda butuhkan.
$ ./set-version 1.3.0-MS-SNAPSHOT
Daripada menggunakan lein install , Anda harus mengganti lein dengan ./treelein .
Misalnya:
$ ./treelein install
Ini akan menginstal semua stoples yada ke dalam repositori Maven lokal Anda.
Terima kasih kepada orang -orang berikut untuk inspirasi, kontribusi, umpan balik, dan saran.
Juga, lihat daftar ketergantungan. Secara khusus, yada tentu tidak akan ada tanpa upaya besar dari mereka di belakang perpustakaan berikut.
Lisensi MIT (MIT)
Hak Cipta © 2015-2016 Juxt Ltd.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
Pemberitahuan hak cipta di atas dan pemberitahuan izin ini harus dimasukkan dalam semua salinan atau bagian substansial dari perangkat lunak.
Perangkat lunak ini disediakan "sebagaimana adanya", tanpa jaminan apa pun, tersurat maupun tersirat, termasuk tetapi tidak terbatas pada jaminan dapat diperjualbelikan, kebugaran untuk tujuan tertentu dan nonpringement. Dalam hal apa pun penulis atau pemegang hak cipta tidak akan bertanggung jawab atas klaim, kerusakan atau tanggung jawab lainnya, baik dalam tindakan kontrak, gugatan atau sebaliknya, timbul dari, di luar atau sehubungan dengan perangkat lunak atau penggunaan atau transaksi lain dalam perangkat lunak.