Если это для модульных тестов, вы можете использовать akka-http's test kit .
Если это для самого приложения, вам не нужно идти по маршруту, вы должны просто вызывать соответствующие службы, которые контроллер будет использовать напрямую. Если это неудобно (слишком много копировальной пасты), проводите рефакторинг, пока это не станет возможным.
Что касается причины, я хочу, чтобы мое приложение было обернуто как на веб-сервере (затем использовать маршрут «обычным» способом), так и на демона, который отвечает на входящее сообщение брокера сообщений.
У меня есть приложение, которое делает что-то подобное на самом деле.
Но я пришел к этому с другой стороны: я считаю сообщение посредника «основным» форматом. Он «маршрутизируется» внутри потребителя исключительно на основе свойств самого сообщения (содержимого тела, ключа сообщения, названия темы). Вдобавок к этому построен HTTP-шлюз: он имеет очень ограниченное количество конечных точек и маршрутов API (в основном для удобства вызывающего абонента, может также иметь только один) и создает сообщение, которое затем передается потребителю сообщения (в моем случае, фактически через посредника, так что шлюз HTTP даже не должен находиться на том же хосте, что и потребитель).
В результате мне не нужно «повторно» использовать HTTP-маршрут, потому что это ничего не делает. Вся логика совместной обработки происходит на более низком уровне (внутри службы, внутри потребителя).