Yada - это веб -библиотека для Clojure, предназначенная для поддержки создания производственных услуг через HTTP.
Он имеет следующие функции:
Yada - это библиотека братьев и сестер для BIDI - тогда как BIDI основан на маршрутах в качестве данных , YADA основана на ресурсах в качестве данных .
Пользовательский рубеж для последнего выпуска (1.x) доступен по адресу https://juxt.pro/yada и офлайн (см. Ниже).
Пользовательский ручный также доступен как электронная книга или PDF, в LeanPub.
build.boot последнего стабильного выпуска добавьте следующую зависимость в свой project.clj .
[yada "1.2.15"]
build.boot последнего выпуска Alpha добавьте следующую зависимость в свой project.clj .
[yada "1.3.0-alpha9"]
Как правило, обработчики Yada создаются из конфигурации, выраженной в данных.
( require '[yada.yada :as yada])
( yada/handler
{ :methods
{ :get
{ :produces " text/html "
:response " <h1>Hello World!</h1> " }}})Это простой пример, в Яде гораздо больше вариантов, чем можно выразить здесь, но подход такой же. Конфигурация данных может быть проведена вручную или сгенерированной программно ведущей, обеспечивающей создание согласованных API в промышленном масштабе.
Яда требует следующего:-
Поддержка других веб-серверов, таких как Undertow, находится на дорожной карте.
Если вы хотите убедиться, что ваш код не сломается с будущими выпусками Yada, вы должны использовать функции только из пространств имен yada.yada .
Вы можете использовать другие публичные функции в Яде, но будьте осторожны, что они могут и вносит изменения между выпусками.
По умолчанию яда включает в себя батареи, в результате чего большое количество зависимостей.
Тем не менее, доступна более стройная версия Yada, которая вырезает Swagger, Swagger-Ui, Json (Cheshire), Transit, Buddy, Core.async, SSE и других жиров.
Применяются следующие различия:
Чтобы использовать Lean (или любой другой) вариант YADA, укажите соответствующий классификатор в вашем project.clj build.boot
[yada/lean " 1.2.15 " ]Хотя Yada является библиотекой, если вы клонируете этот репо, вы можете запустить документацию и примеры из Repl.
cd yada
lein repl
После того, как заполняет, введите и запустите следующее:-
user> (dev)
dev> (go)
Теперь просмотрите http: // localhost: 8090.
В. Я перехожу из версии перед Yada 1.1, и моя Async Multipart и другие загрузки не работают, иногда бросая NullpointerExceptions или другие ошибки.
A. Используйте встроенную функцию Yada.server от Yada.server, либо убедитесь, что вы запустили сервер Aleph с опции raw-stream? :true . Предыдущие версии Yada оставили эти настройки пользователю, но в Yada 1.1 это очень важно , что Raw-Stream? установлен.
Ядарцы в основном общаются в канале Slack Plus. Есть также выделенный канал Gitter Channel
Кроме того, существует дискуссионная группа Yada-Discuss, чтобы обсудить идеи.
Не стесняйтесь поднимать проблемы GitHub в этом хранилище.
Приглашаются запросы. Пожалуйста, запустите тестовый набор и проверьте, что все тесты проходят перед отправкой.
$ lein test
Если вы хотите создать и проверить свою собственную версию Yada, вам нужно знать, как локально установить собственную версию. Поскольку Yada разбита на несколько банок Maven, каждый из которых со своей собственной версией объявления, есть сценарий, который позволяет вам установить версию на то, что вам нужно.
$ ./set-version 1.3.0-MS-SNAPSHOT
Вместо того, чтобы использовать lein install , вы должны заменить lein на ./treelein .
Например:
$ ./treelein install
Это установит все банки яды в ваш местный хранилище Maven.
Спасибо следующим людям за вдохновение, вклад, обратную связь и предложения.
Также см. Список зависимостей. В частности, Яда, безусловно, не будет существовать без значительных усилий тех, кто стоит за следующими библиотеками.
Лицензия MIT (MIT)
Copyright © 2015-2016 Juxt Ltd.
Настоящим дается разрешение, бесплатно, любому лицу, получающему копию этого программного обеспечения и связанные с ними файлы документации («Программное обеспечение»), чтобы иметь дело в программном обеспечении без ограничений, включая, без ограничения, права на использование, копирование, изменение, объединение, публикацию, распределение, сублиценность и/или продавать копии программного обеспечения и разрешения лиц, на которые программное обеспечение подходит для того, чтобы поступить так, чтобы поступить на следующие условия: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: к следующим условиям: на следующие условия: к следующим условиям: на следующие условия: на следующие условия.
Вышеуказанное уведомление об авторском праве и это уведомление о разрешении должно быть включено во все копии или существенные части программного обеспечения.
Программное обеспечение предоставляется «как есть», без гарантии любого рода, явного или подразумеваемого, включая, помимо прочего, гарантии товарной пригодности, пригодности для определенной цели и несоответствия. Ни в коем случае авторы или владельцы авторских прав не будут нести ответственность за любые претензии, убытки или другую ответственность, будь то в действии контракта, деликт или иным образом, возникающие из или в связи с программным обеспечением или использованием или другими сделками в программном обеспечении.