Как стать автором
Обновить

Комментарии 27

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Переписал на скалатре
НЛО прилетело и опубликовало эту надпись здесь
Для scala выглядит очень странно. Rest framework'ов для скала полно (unfiltered, spray, blueeyes и это не конец). Да и с sbt хорошо бы, все же разобраться. Ваш код это java код переписанный на scala, да и для запуска-сборки непонятно зачем костыли.
Ни разу не слышал про unfiltered, spray, blueeyes.
Пойду погуглю.
Клёвые фреймворки.
Зря маялся с этим jersey.
Перепишу статью, как изучу их.
Почитал подробнее про предложенные Вами фреймворки — хорошие и добротные, но не для меня.
Мне бы что-нибудь попроще.
Идеально было бы запустить Скалатру без Сбт.
Unfiltered очень простой. Можно использовать Lift + RestHelper.
Да, мне он понравился — маленький и простой, ничего лишнего.
Только вот pattern matching на case-классах, и кучи обёрток каких-то разных не понравились.
А так, автор хорошо постарался.
Переписал на скалатре
build.gradle — вы весь этот файл вручную написали? Для того чтобы построить проект в котором единственный сервис с единственной функцией? Как-то не очень эффективно, неужели это самый лучший метод?
А как ещё вы предложите?
Писать .sh я пробовал — придётся путь к каждому jar'нику добавлять в переменную classpath прямо в скрипте. Если бы можно было по маске — использовал бы скрипт.
JARS_ARR=( `find libs/ -name "*.jar"` ) && JARS=$(printf ":%s" "${A[@]}")
В конце не ${A[@]}, а ${JARS_ARR[@]}, конечно. Поторопился, пардон.
прикольно, спасибо.
я шелла вообще не знаю.
статью перепишу мб через месяц, на spray.
Переписал на скалатре
C Gradle незнаком, но судя по данному билду он ничем не проще/понятнее sbt. Может быть разве что «вход» легче.
И, кстати, scalatra не требует sbt, просто демка сделана на шаблонизаторе для sbt. В общем зря Вы на «15 мин» акцент сделали, лучше больше времени на изучение, чем тяп-ляп.
Поделитесь, пожалуйста, способом запустить Скалатру без Сбт.
А в чем собственно проблема? Обычный java сервлет. Либо деплоим как war и соответственно прописываем web.xml или как тут www.scalatra.org/stable/book/#Launch_Scalatra_as_a_servlet
Прикольно, встроенный jetty подойдёт.
Завтра дома попробую.
Насколько я сейчас понимаю, можно добавить только один Template на "/*"

root.addServlet(new ServletHolder(new TemplateExample), "/*")

в принципе, можно написать сканер всех классов в некоем пакете «resources», с аннотацией "@Path(base_path)", и каждый такой путь через звёздочку мэпить на такой ресурс.
Даже лучше так — path будет браться из названия подпакета класса
Переписал на скалатре
Спасибо за помощь
Рад был помочь :) Ну вот, стало гораздо симпатичнее и по скаловски. Разве что имхо «val что» лишнее, и так понятно что это параметр. Ну и смысл сканера-пускателя для меня не очевиден. Мне кажется лучше в одном месте явно прописывать какой сервлет куда замаплен.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории