Yada est une bibliothèque Web pour Clojure, conçue pour soutenir la création de services de production via HTTP.
Il a les fonctionnalités suivantes:
Yada est une bibliothèque de frères et sœurs à Bidi - tandis que Bidi est basé sur les routes en tant que données , Yada est basée sur des ressources sous forme de données .
La manuelle utilisateur de la dernière version (1.x) est disponible sur https://juxt.pro/yada et hors ligne (voir ci-dessous).
L'utilisateur-manuel est également disponible sous forme de livre électronique ou de PDF, chez LeanPub.
Pour la dernière version stable, ajoutez la dépendance suivante à votre fichier project.clj ou build.boot :
[yada "1.2.15"]
Pour la dernière version alpha, ajoutez la dépendance suivante à votre fichier project.clj ou build.boot :
[yada "1.3.0-alpha9"]
En règle générale, les gestionnaires YADA sont créés à partir d'une configuration exprimée dans les données.
( require '[yada.yada :as yada])
( yada/handler
{ :methods
{ :get
{ :produces " text/html "
:response " <h1>Hello World!</h1> " }}})Ceci est un exemple simple, il y a beaucoup plus d'options dans Yada que ce qui peut être exprimé ici, mais l'approche est la même. La configuration des données peut être écrite à la main ou générée par programmation, activant la création d'API cohérentes à une échelle industrielle.
Yada nécessite ce qui suit: -
Le support pour d'autres serveurs Web, tels que Undertow, est sur la carte routière.
Si vous souhaitez vous assurer que votre code ne rompra pas avec les versions futures de Yada, vous ne devez utiliser que les fonctions des espaces de noms yada.yada .
Vous êtes libre d'utiliser d'autres fonctions publiques à Yada, mais soyez averti que ceux-ci peuvent et changent entre les versions.
Par défaut, Yada est incluse des batteries, apportant un grand nombre de dépendances.
Cependant, une version plus maigre de Yada est disponible, ce qui coupe Swagger, Swagger-Ui, Json (Cheshire), Transit, Buddy, Core.async, SSE et autres graisses.
Les différences suivantes s'appliquent:
Pour utiliser la variante Lean (ou toute autre) de Yada, spécifiez le classificateur approprié dans votre fichier project.clj ou build.boot :
[yada/lean " 1.2.15 " ]Bien que Yada soit une bibliothèque, si vous clonez ce dépôt, vous pouvez exécuter la documentation et les exemples de The REP.
cd yada
lein repl
Une fois que les réponses commencent, tapez et exécutez ce qui suit: -
user> (dev)
dev> (go)
Maintenant, parcourez http: // localhost: 8090.
Q. Je migre à partir d'une version avant Yada 1.1 et mon multiparte asynchrone et d'autres téléchargements ne fonctionnent pas, lançant parfois NullPointerExceptions ou d'autres erreurs.
A. Utilisez la fonction Yada.Server intégrée de Yada ou assurez-vous que vous avez commencé le serveur d'Aleph avec l'option raw-stream? :true . Les versions précédentes de Yada ont laissé ces paramètres à l'utilisateur, mais il est très important dans YADA 1.1 que le flux brut? est défini.
Les Yadariens discutent principalement dans la chaîne Slack plus il existe également une chaîne de canal gitter dédiée
De plus, il existe un groupe de discussion Yada-Discuss pour discuter des idées.
N'hésitez pas à soulever des problèmes GitHub sur ce référentiel.
Les demandes de traction sont les bienvenues. Veuillez exécuter la suite de test et vérifier que tous les tests passent avant la soumission.
$ lein test
Si vous souhaitez créer et tester votre propre version de Yada, vous devez savoir comment installer localement votre propre version. Étant donné que Yada est divisée en plusieurs pots Maven, chacun avec sa propre déclaration de version, il y a un script qui vous permet de définir la version sur tout ce dont vous avez besoin.
$ ./set-version 1.3.0-MS-SNAPSHOT
Plutôt que d'utiliser lein install , vous devez remplacer lein par ./treelein .
Par exemple:
$ ./treelein install
Cela installera tous les pots Yada dans votre référentiel Maven local.
Merci aux personnes suivantes pour l'inspiration, les contributions, les commentaires et les suggestions.
Voir également la liste des dépendances. En particulier, Yada n'existerait certainement pas sans les efforts considérables de ceux qui sont derrière les bibliothèques suivantes.
La licence du MIT (MIT)
Copyright © 2015-2016 Juxt Ltd.
L'autorisation est accordée gratuitement à toute personne qui obtient une copie de ce logiciel et des fichiers de documentation associés (le "logiciel"), pour traiter le logiciel sans restriction, y compris sans limiter les droits d'utilisation, de copie, de modification, de fusion, de publication, de distribution, de sublince et / ou de vendre des copies des conditions suivantes.
L'avis de droit d'auteur ci-dessus et le présent avis d'autorisation sont inclus dans toutes les copies ou des parties substantielles du logiciel.
Le logiciel est fourni "tel quel", sans garantie d'aucune sorte, express ou implicite, y compris, mais sans s'y limiter, les garanties de qualité marchande, d'adéquation à un usage particulier et de non-contrefaçon. En aucun cas, les auteurs ou les détenteurs de droits d'auteur ne seront pas responsables de toute réclamation, dommage ou autre responsabilité, que ce soit dans une action de contrat, de délit ou autre, découlant de, hors du logiciel ou de l'utilisation ou d'autres relations dans le logiciel.