Перенос ответственности HTTP Response на разные методы в REST API Play Framework - PullRequest
0 голосов
/ 11 сентября 2018

В настоящее время я работаю над проверкой концепции для полностью асинхронного REST API на основе сообщений (Akka).За исключением того, что у меня уже есть некоторые проблемы с тем, как платформа Play обрабатывает запросы.Из примеров и руководств кажется, что это стандартная настройка для конечной точки GET (код сокращен для примера кода):

public class APIController extends Controller {

    public Result getRecord(int id){
        return ok("ok");
    }
}

Таким образом, потоком по умолчанию будет то, что метод, связанный с конечной точкой API, будет найден с использованием маршрутизации.файл и затем вызывается, затем он ожидает возвращаемое значение типа Result (или CompletionStage), которое будет использоваться для ответа на источник HTTP-запроса с чем-либо, что было в него добавлено.

Я хотел бы переместить ответственностьотвечая на запрос другого метода, который вызывается моей системой обмена сообщениями (используя Akka), чтобы убедиться, что каждая его часть работает в асинхронном режиме.Так что хорошим примером может служить способ исправления этого с помощью Node.JS, который передает фактическую переменную ответа из исходной функции конечной точки в последующие сообщения, позволяя любому шагу по пути отправлять ответ HTTP без необходимости возврата к исходной конечной точке.функция.

Мне интересно, есть ли способ выполнить этот поток так же, как это было бы в Node.JS

Если это немного расплывчато, я был бы рад попытаться прояснить свой вопрос..

...