Yada ist eine Webbibliothek für Clojure, die die Erstellung von Produktionsdiensten über HTTP unterstützt.
Es hat die folgenden Funktionen:
Yada ist eine Geschwisterbibliothek für Bidi - während Bidi auf Routen als Daten basiert, basiert Yada auf Ressourcen als Daten .
Das Benutzer-Manual für die neueste Version (1.x) ist unter https://juxt.pro/yada und offline (siehe unten) verfügbar.
Das Benutzer-Manual ist auch als E-Book oder PDF bei Leanpub erhältlich.
Für die neueste stabile Veröffentlichung fügen Sie Ihrem Projekt die folgende Abhängigkeit zu Ihrem project.clj hinzu.clj oder build.boot -Datei:
[yada "1.2.15"]
Für die neueste Alpha -Veröffentlichung fügen Sie Ihrem Projekt die folgende Abhängigkeit zu Ihrem project.clj hinzu.clj oder build.boot -Datei:
[yada "1.3.0-alpha9"]
In der Regel werden Yada -Handler aus einer in Daten ausgedrückten Konfiguration erstellt.
( require '[yada.yada :as yada])
( yada/handler
{ :methods
{ :get
{ :produces " text/html "
:response " <h1>Hello World!</h1> " }}})Dies ist ein einfaches Beispiel, es gibt viel mehr Optionen in Yada als hier ausgedrückt werden kann, aber der Ansatz ist der gleiche. Die Datenkonfiguration kann von Hand verfasst oder programmatisch leitende Erstellung konsistenter APIs in industrieller Ebene erzeugt werden.
Yada benötigt Folgendes:-
Die Unterstützung für andere Webserver, wie z. B. Totow, sind auf der Straße.
Wenn Sie sicherstellen möchten, dass Ihr Code nicht mit zukünftigen Veröffentlichungen von Yada brechen, sollten Sie nur Funktionen aus den yada.yada -Namespaces verwenden.
Sie können andere öffentliche Funktionen in Yada nutzen, aber bitte seien Sie gewarnt, dass diese zwischen den Veröffentlichungen sich ändern können und tun.
Standardmäßig ist Yada mit Batterien eingeleitet, die eine große Anzahl von Abhängigkeiten einbringen.
Eine schlankere Version von Yada ist jedoch erhältlich, die Prahlerei, Swagger-UI, JSON (Cheshire), Transit, Buddy, Core.Async, SSE und anderes Fett herausschneidet.
Die folgenden Unterschiede gelten:
Geben Sie den entsprechenden Klassifizierer in Ihrem project.clj oder build.boot -Datei an, um die schlanke (oder andere) Variante von Yada zu verwenden.
[yada/lean " 1.2.15 " ]Obwohl Yada eine Bibliothek ist, können Sie, wenn Sie dieses Repo klonen, die Dokumentation und Beispiele aus der Repl.
cd yada
lein repl
Sobald die Wiederholung beginnt, geben Sie Folgendes ein und führen Sie Folgendes aus:-
user> (dev)
dev> (go)
Jetzt stöbern Sie zu http: // localhost: 8090.
F. Ich migriere von einer Version vor Yada 1.1 und mein asynchronisiertes Multipart und andere Uploads funktionieren nicht und werfen manchmal NullPointerexceptions oder andere Fehler.
A. Verwenden Sie entweder Yadas integrierte Yada.Server-Funktion oder stellen Sie sicher, dass Sie Alephs Server mit der Option raw-stream? :true . Frühere Versionen von Yada haben diese Einstellungen dem Benutzer überlassen, aber in Yada 1.1 ist es sehr wichtig, dass Rohstream? ist gesetzt.
Yadarier chatten meisten
Außerdem gibt es eine Diskussionsgruppe Yada-Discuss, um Ideen zu diskutieren.
Fühlen Sie sich frei, Github -Probleme in diesem Repository zu locken.
Pull -Anfragen sind willkommen. Bitte führen Sie die Testsuite aus und überprüfen Sie, ob alle Tests vor der Einreichung bestehen.
$ lein test
Wenn Sie Ihre eigene Version von Yada erstellen und testen möchten, müssen Sie sich bewusst sein, wie Sie Ihre eigene Version lokal installieren. Da Yada in mehrere Maven -Gläser unterteilt ist, die jeweils eine eigene Versionserklärung mit einer eigenen Versionserklärung haben, gibt es ein Skript, mit dem Sie die Version auf alles setzen können, was Sie brauchen.
$ ./set-version 1.3.0-MS-SNAPSHOT
Anstatt lein install zu verwenden, sollten Sie lein durch ./treelein ersetzen.
Zum Beispiel:
$ ./treelein install
Dadurch werden alle Yada -Gläser in Ihrem lokalen Maven -Repository eingebaut.
Vielen Dank an die folgenden Menschen für Inspiration, Beiträge, Feedback und Vorschläge.
Siehe auch die Abhängigkeitsliste. Insbesondere würde Yada ohne die beträchtlichen Anstrengungen der folgenden Bibliotheken sicherlich nicht existieren.
Die MIT -Lizenz (MIT)
Copyright © 2015-2016 Juxt Ltd.
Die Erlaubnis wird hiermit einer Person, die eine Kopie dieser Software und zugehörigen Dokumentationsdateien (der "Software") erhält, kostenlos erteilt, um die Software ohne Einschränkung zu behandeln, einschließlich ohne Einschränkung der Rechte, zu verwenden, zu kopieren, zu modifizieren, zusammenzufassen, zu veröffentlichen, zu veröffentlichen, zu verteilen, zu verteilt, und/oder Kopien der Software zu ermöglichen, um Personen zu beanstanden, an denen die Software zugänglich ist.
Die oben genannte Copyright -Mitteilung und diese Erlaubnisbekanntmachung müssen in alle Kopien oder wesentlichen Teile der Software enthalten sein.
Die Software wird "wie es ist" ohne Garantie jeglicher Art, ausdrücklich oder stillschweigend bereitgestellt, einschließlich, aber nicht beschränkt auf die Gewährleistung der Handelsfähigkeit, die Eignung für einen bestimmten Zweck und die Nichtverletzung. In keinem Fall sind die Autoren oder Urheberrechtsinhaber für Ansprüche, Schäden oder andere Haftungen haftbar, sei es in einer Vertragsklage, unerbittlich oder auf andere Weise, die sich aus oder im Zusammenhang mit der Software oder anderen Geschäften in der Software ergeben.