gpt4 book ai didi

java - 如何在喷雾路由中将Java对象转换为Json

转载 作者:太空宇宙 更新时间:2023-11-04 12:01:14 24 4
gpt4 key购买 nike

我想知道是否有任何方法可以在喷雾路由中将Java对象作为Json字符串返回。

现在,我正在通过我创建的 util 类 (JacksonUtil) 使用 Jackson 将 Java 对象(返回给我的 UserActor)转换为 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]
}

GetResource 是获取查询参数的类。例如,如果客户端点击 GET/users/123,则 GetResource 将添加搜索条件为 userId = "123"

最佳答案

我认为您需要根据您的需求和易用性自行完成,例如使用 Jackson 或使用 LiftJson 。 Spray 默认情况下不提供此类功能,因为它没有对此的依赖项!

您可以在此处查看 Spray 使用的编译依赖项:https://mvnrepository.com/artifact/io.spray/spray-routing_2.11/1.3.4

屏幕截图:

enter image description here

关于java - 如何在喷雾路由中将Java对象转换为Json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40885108/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com