我正在使用Spray,我需要通过一种方法返回json
对象。
val route =
path("all-modules") {
get {
respondWithMediaType(`text/html`) {
complete( configViewer.findAllModules.toString)
}
}
}
这打印
ConfigResults(S1000,Success,List(testDataTypes, mandate, sdp))
但是我需要将此作为
json
对象。我该怎么做?我以这种方式尝试
val route =
path("all-modules") {
get {
respondWithMediaType(`application/json`) {
complete{
configViewer.findAllModules
}
}
}
}
它给出了一个编译错误
could not find implicit value for parameter marshaller: spray.httpx.marshalling.ToResponseMarshaller
最佳答案
您需要告诉Spray如何序列化您的案例类。
只需配置类似
object JsonSupport {
implicit val formatConfigResults = jsonFormat3(ConfigResults)
}
jsonFormat'number'中的数字代表案例类中成员的数量。
然后,您只需要将其定义为隐式的类导入路由。
import JsonSupport._
关于json - 使用spray.json获取Json对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22090671/