Я хотел бы знать, есть ли способ вернуть объект Java как Json String внутри маршрутизации распыления.Как преобразовать объект Java в Json в маршрутизацию распыления
На данный момент я конвертирую свой объект Java (который возвращает мой UserActor) в Json, используя Jackson через созданный мной класс util (JacksonUtil).
Вот фрагмент кода для справки:
val route = {
path("users"/Segment) { id =>
parameterMap { params =>
get {
respondWithMediaType(MediaTypes.`text/plain`) {
val resource: GetResource = new GetResource
resource.searchCriteriaList.add(new SearchCriteria("userId", "=", Segment))
logger.info("Request Received in new route: " + resource)
onComplete(callUserActor(resource)) {
case Success(ret: User) => {
logger.info("Request complete. Success.")
complete(JacksonUtil.toJson(ret))
}
case Failure(error) => {
logger.info("Request complete. Failure. " + error)
complete("Error: " + error)
}
}
}
}
}
}
}
def callUserActor(getResource: GetResource): Future[User] = {
(userActor ? getResource).mapTo[User]
}
GetResource это класс, который может брать из параметров запроса. Например, если хиты клиента GET/пользователи/123, то GetResource добавит searchcriteria в USERID = «123»