Yada es una biblioteca web para Clojure, diseñada para respaldar la creación de servicios de producción a través de HTTP.
Tiene las siguientes características:
Yada es una biblioteca de hermanos para BIDI, mientras que BIDI se basa en las rutas como datos , Yada se basa en recursos como datos .
El usuario-manual para la última versión (1.x) está disponible en https://juxt.pro/yada y fuera de línea (ver más abajo).
La manual del usuario también está disponible como un libro electrónico o PDF, en LeanPub.
Para la última versión estable, agregue la siguiente dependencia a su archivo project.clj o build.boot :
[yada "1.2.15"]
Para la última versión Alpha, agregue la siguiente dependencia a su archivo project.clj o build.boot :
[yada "1.3.0-alpha9"]
Por lo general, los manejadores YADA se crean a partir de una configuración expresada en datos.
( require '[yada.yada :as yada])
( yada/handler
{ :methods
{ :get
{ :produces " text/html "
:response " <h1>Hello World!</h1> " }}})Este es un ejemplo simple, hay muchas más opciones en YADA de las que se pueden expresar aquí, pero el enfoque es el mismo. La configuración de datos se puede autorizar a mano o generarse mediante programación que permita programar la creación de API consistentes a una escala industrial.
Yada requiere lo siguiente:-
El soporte para otros servidores web, como Untow, están en el mapa de la carretera.
Si desea asegurarse de que su código no se rompa con futuras versiones de YADA, solo debe usar funciones de los espacios de nombres yada.yada .
Usted es libre de usar otras funciones públicas en YADA, pero tenga en cuenta que estos pueden y cambian entre lanzamientos.
Por defecto, YADA está incluida en baterías, lo que trae una gran cantidad de dependencias.
Sin embargo, hay una versión más delgada de Yada que corta Swagger, Swagger-UI, JSON (Cheshire), Transit, Buddy, Core.Async, SSE y otras grasas.
Aplican las siguientes diferencias:
Para usar la variante Lean (o cualquier otra) de YADA, especifique el clasificador apropiado en su archivo project.clj o build.boot :
[yada/lean " 1.2.15 " ]Aunque YADA es una biblioteca, si clona este repositorio puede ejecutar la documentación y los ejemplos del repl.
cd yada
lein repl
Una vez que se inicia el REPL, escriba y ejecute lo siguiente:-
user> (dev)
dev> (go)
Ahora navegue a http: // localhost: 8090.
P. Estoy migrando de una versión antes de YADA 1.1 y mi async multipart y otras cargas no funcionan, a veces arrojando nullpointexcepciones u otros errores.
A. Use la función de servidor YADA incorporada de YADA o asegúrese de haber iniciado el servidor de ALEPH con la opción raw-stream? :true . Las versiones anteriores de Yada dejaron estas configuraciones al usuario, pero es muy importante en YADA 1.1 que río crudo? está configurado.
Los yadarianos chatan principalmente en el canal Slack, además, también hay un canal de canal Gitter dedicado
Además, hay un grupo de discusión yada-discuss para discutir ideas.
Siéntase libre de plantear problemas de GitHub en este repositorio.
Las solicitudes de extracción son bienvenidas. Ejecute el conjunto de pruebas y verifique que todas las pruebas pasen antes de la presentación.
$ lein test
Si desea construir y probar su propia versión de YADA, debe tener en cuenta cómo instalar localmente su propia versión. Dado que Yada se divide en múltiples frascos maven, cada uno con su propia declaración de versión, hay un script que le permite establecer la versión en lo que necesite que sea.
$ ./set-version 1.3.0-MS-SNAPSHOT
En lugar de usar lein install , debe reemplazar lein con ./treelein .
Por ejemplo:
$ ./treelein install
Esto instalará todos los frascos yada en su repositorio local de Maven.
Gracias a las siguientes personas por inspiración, contribuciones, comentarios y sugerencias.
Además, vea la lista de dependencias. En particular, Yada ciertamente no existiría sin los considerables esfuerzos de los que están detrás de las siguientes bibliotecas.
La licencia del MIT (MIT)
Copyright © 2015-2016 yuxt Ltd.
El permiso se otorga, de forma gratuita, a cualquier persona que obtenga una copia de este software y archivos de documentación asociados (el "software"), para tratar en el software sin restricción, incluidos los derechos de los derechos de usar, copiar, modificar, fusionar, publicar, distribuir, sublicense y/o vender copias del software, y para permitir que las personas a quienes se les proporciona el software para hacerlo, sujeto a las siguientes condiciones: las siguientes condiciones: las siguientes condiciones: las siguientes condiciones:
El aviso de derechos de autor anterior y este aviso de permiso se incluirán en todas las copias o porciones sustanciales del software.
El software se proporciona "tal cual", sin garantía de ningún tipo, expresa o implícita, incluidas, entre otros, las garantías de comerciabilidad, idoneidad para un propósito particular y no infracción. En ningún caso los autores o titulares de derechos de autor serán responsables de cualquier reclamo, daños u otra responsabilidad, ya sea en una acción de contrato, agravio o de otra manera, que surge, de o en relación con el software o el uso u otros tratos en el software.