Arhn - архитектура программирования

REST API с Akka на Java

Я пытаюсь создать свой собственный API на основе REST, используя Java и Akka. Я уже создал свою основную алгоритмическую реализацию, используя Akka. Мое замешательство связано с тем, как реализовать REST-часть этого. Большинство примеров и библиотек, которые я видел, предназначены специально для Scala, от которого я сейчас стараюсь держаться подальше.

Я вижу, что Spray — хороший способ, но я вижу, что он должен быть для Scala. Однако я знаю, что Scala компилируется в байт-код Java, а Java должна иметь возможность вызывать Scala и наоборот. Можно ли это сделать спреем? Если да, есть ли какие-нибудь рабочие примеры или учебные пособия в Интернете? Мне нигде не везет.

Спасибо за вашу помощь и время.

28.01.2013

Ответы:


1

Я бы порекомендовал вам использовать playframework 2.0. Он уже интегрирован с akka, и вы можете написать свой код на Java или Scala. Будет очень легко реализовать API на основе REST.

28.01.2013
  • +1 для Play2.0 Framework, это часть стека Typesafe. 28.01.2013
  • Разве вся Play Framework не слишком тяжела для того, что я делаю, где я не хочу использовать какую-либо веб-инфраструктуру, а только возможности REST? Я думал, что в этом смысл Play 2 Mini... 29.01.2013
  • Я никогда не смотрел на Play 2 Mini, но на первый взгляд кажется, что вы должны пойти на это, если вам нужен только материал REST. 29.01.2013

  • 2

    Собственно, я пошел точно по тому же пути: хотел использовать Akka для реализации REST-сервисов и не хотел использовать Scala.

    Akka можно использовать с Play-mini, который дает вам REST-сопоставление, подобное Sinatra, без какого-либо пользовательского интерфейса (вам это не нужно).

    28.01.2013
  • Я смотрел в Play 2 Mini. Я загрузил его и попытался запустить их пример приложения (sbt), но получил сообщение об ошибке компиляции. Объект typesafe не является членом пакета. com object Global extends com.typesafe.play.mini.SetupJavaApplicationFor[com.example.App]..I я новичок в этом типе вещей.. не знаю, как заставить его работать... 28.01.2013
  • Вы создали приложение из их шаблона? Это то, что нужно сделать, а затем просто начать изменять код оттуда. Я несколько раз ходил туда-сюда с их разработчиками по поводу их документов. Они казались открытыми для обратной связи и сопротивлялись изменениям. :) 28.01.2013
  • Я в основном скачал его (пришел с Play 2 Mini), а затем он сказал сделать на нем SBT, а затем запустить. Получил эту ошибку .... На самом деле я не знаком с SBT или чем-то еще. Я только начал использовать его, когда запустил что-то типа Akka, но я все равно запускаю его из Eclipse... 28.01.2013
  • Вот оно: typesafe.com/resources/getting-started/typesafe-stack/ создайте проект, используя этот шаблон... 29.01.2013
  • и если вы чувствуете себя благотворительным, проверьте мой ответ @marothisu 29.01.2013
  • вам понадобится библиотека конфигурации com.typesafe % в вашем пути к классам (в любом случае это ошибка выше) 29.01.2013

  • 3

    Вы также можете посмотреть структуру Spray Framework http://spray.io/. Это может быть облегченная альтернатива Play Framework.

    31.01.2013
  • Это потрясающий фреймворк, но, к сожалению, это не Java. 02.02.2015

  • 4

    Вот репозиторий github со службой отдыха Jersey 2, использующей актеры Akka для обработки в проекте Java на основе Maven.

    https://github.com/pofallon/jersey2-akka-java

    25.11.2013

    5

    Я думаю, вы хотите посмотреть на это:

    https://www.typesafe.com/activator/template/akka-http-microservice

    Простой (микро) сервис, который демонстрирует, как выполнять задачи, типичные для сервиса REST, с использованием Akka HTTP. Проект включает в себя: запуск автономного HTTP-сервера, обработку простой конфигурации на основе файлов, ведение журнала, маршрутизацию, деконструкцию запросов, преобразование сущностей JSON в классы случаев Scala, маршалинг классов случаев Scala в ответы JSON, обработку ошибок, выдачу запросов к внешним службам, тестирование с имитацией внешних услуг.

    14.05.2015

    6

    На akka github есть старая запись (2010) для примера akka-sample-rest-java, который был бы действительно интересным. Однако в следующих версиях его убрали, не знаю почему.

    https://github.com/akka/akka-modules/tree/v1.0/akka-samples/akka-sample-rest-java/src/main/java/sample/rest/java

    Поскольку он не поддерживается, большинство классов полагаются на старые версии akka и не работают с самыми последними.

    28.07.2014

    7

    на данный момент два современных микросервиса и технологии REST: Vert.x и dropwizard

    17.06.2016

    Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..