我正在使用REST API,当调用正常时,此API返回200 OK Header,然后在正文中它可以处理两个不同的JSON
LogComplaint
或者,如果数据发送正确,则返回
Manifest
问题是,如果我使用json4s,我必须知道要使用哪个case类,我应该怎么做,使用{"Error": {
"code" = 1
"msg" = "some error message"
}
}
,将JValue转换为String并检查是否包含Error然后Left(Error) o其他权利(代码),我应该采取哪种解决方案。我正在寻找一个好的解决方案,也许正确的解释。
我的aprrocach的问题是Dispatch给了我{"code" : {
"status" = "Your submission is ..."
"msg" = "It is happy"
"answer" = {...}
}
所以最后我会得到[String,[Error,Code]],它似乎不是一个好对象
答案 0 :(得分:0)
我建议您使用中间JValue(JObject)检查错误情况,而不是String包含并使用Try和密封特征简化您的类型。
这将避免String转换并将类型简化为Try [ApiFooResponse]。如果我做了任何错误的假设,请纠正我。