Yada é uma biblioteca da Web para Clojure, projetada para apoiar a criação de serviços de produção via HTTP.
Tem os seguintes recursos:
Yada é uma biblioteca de irmãos para BIDI - enquanto Bidi se baseia em rotas como dados , a YADA é baseada em recursos como dados .
A manual do usuário para a versão mais recente (1.x) está disponível em https://juxt.pro/yada e offline (veja abaixo).
O manual do usuário também está disponível como um e-book ou PDF, no LeanPub.
Para o último lançamento estável, adicione a seguinte dependência ao seu project.clj ou build.boot :
[yada "1.2.15"]
Para a versão mais recente do Alpha, adicione a seguinte dependência ao seu projeto project.clj ou build.boot :
[yada "1.3.0-alpha9"]
Normalmente, os manipuladores YADA são criados a partir de uma configuração expressa em dados.
( require '[yada.yada :as yada])
( yada/handler
{ :methods
{ :get
{ :produces " text/html "
:response " <h1>Hello World!</h1> " }}})Este é um exemplo simples, há muito mais opções no YADA do que pode ser expresso aqui, mas a abordagem é a mesma. A configuração de dados pode ser autorizada à mão ou gerada programaticamente, permitindo a criação de APIs consistentes em escala industrial.
yada requer o seguinte:-
O suporte a outros servidores da Web, como a Underw, estão no mapa da estrada.
Se você deseja garantir que seu código não seja divulgado com lançamentos futuros da YADA, você deve usar apenas funções dos namespaces yada.yada .
Você é livre para usar outras funções públicas no YADA, mas esteja avisado de que elas podem e mudam entre os lançamentos.
Por padrão, Yada é incluído nas baterias, trazendo um grande número de dependências.
No entanto, está disponível uma versão mais enxuta do YADA, que corta Swagger, Swagger-Ui, JSON (Cheshire), Transit, Buddy, Core.async, SSE e outras gorduras.
As seguintes diferenças se aplicam:
Para usar a variante Lean (ou qualquer outra) do YADA, especifique o classificador apropriado em seu project.clj ou build.boot :
[yada/lean " 1.2.15 " ]Embora a YADA seja uma biblioteca, se você clonar este repo, poderá executar a documentação e os exemplos do REPL.
cd yada
lein repl
Depois que o repl começar, digite e execute o seguinte:-
user> (dev)
dev> (go)
Agora navegue para http: // localhost: 8090.
P. Estou migrando de uma versão antes do YADA 1.1 e meu multipartimento assíncrono e outros uploads não estão funcionando, às vezes jogando nullpointerExceptions ou outros erros.
A. Use a função Yada.erver interno de Yada raw-stream? :true . As versões anteriores do YADA deixaram essas configurações para o usuário, mas é muito importante no YADA 1.1 esse fluxo bruto? está definido.
Yadarians conversam principalmente no canal Slack, além de um canal de canal gitter dedicado
Além disso, existe um grupo de discussão Yada-Discuss para discutir idéias.
Sinta -se à vontade para levantar questões do GitHub neste repositório.
Solicitações de tração são bem -vindas. Por favor, execute a suíte de teste e verifique se todos os testes passam antes do envio.
$ lein test
Se você deseja criar e testar sua própria versão do YADA, precisa estar ciente de como instalar localmente sua própria versão. Como Yada é dividida em vários frascos de Maven, cada um com sua própria declaração de versão, há um script que permite definir a versão para o que você precisar.
$ ./set-version 1.3.0-MS-SNAPSHOT
Em vez de usar lein install , você deve substituir lein por ./treelein .
Por exemplo:
$ ./treelein install
Isso instalará todos os frascos YADA no seu repositório local do Maven.
Graças às seguintes pessoas pela inspiração, contribuições, feedback e sugestões.
Além disso, consulte a lista de dependência. Em particular, Yada certamente não existiria sem os esforços consideráveis daqueles por trás das seguintes bibliotecas.
A licença do MIT (MIT)
Copyright © 2015-2016 Juxt Ltd.
A permissão é concedida, gratuita, a qualquer pessoa que obtenha uma cópia deste software e arquivos de documentação associados (o "software"), para lidar com o software sem restrição, inclusive sem limitação os direitos de usar, copiar, modificar, mesclar, publicar, distribuir, mobilizar o software e/ou vender cópias do software e permitir que as pessoas a quem
O aviso de direitos autorais acima e este aviso de permissão devem ser incluídos em todas as cópias ou em partes substanciais do software.
O software é fornecido "como está", sem garantia de qualquer tipo, expresso ou implícito, incluindo, entre outros, as garantias de comercialização, aptidão para uma finalidade específica e não innoculação. Em nenhum caso os autores ou detentores de direitos autorais serão responsáveis por qualquer reclamação, danos ou outro passivo, seja em uma ação de contrato, delito ou não, decorrente de, fora ou em conexão com o software ou o uso ou outras negociações no software.