我想知道是否有任何方法將Java對象作爲Json字符串在噴霧路由中返回。如何將Java對象轉換爲Json的噴霧路由
現在,我通過我創建的一個util類(JacksonUtil)將我的Java對象(它返回給我的UserActor)轉換爲使用Jackson的Json。
這裏是代碼片段以供參考:
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]
}
佔用資源是採取的查詢參數的類。 例如,如果客戶點擊GET /用戶/ 123,則佔用資源將增加searchcriteria爲用戶id =「123」