我在Scala中使用Playframework 2.2.1,并且正在编写一个REST API,用户可以在其中设置部分非结构化数据。基本上,用户将发布JSON看起来是这样的:Playframework:如何将JSON绑定到包含地图的案例类?
{
"id": 1,
"name": "MyObject",
"properties": [
"myFirstProperty": "Value 1",
"mySecondProperty": "Value 2"
]
}
,我希望它绑定到一个案例类,看起来像:
case class Preference(id: Long, name: String, properties: Map[String, String])
我希望借此剧的形式API的优势为此,我可以免费获得一堆很好的验证选项,但是我一直无法找到一种简单的方法来实现这一点。理想的情况下(在我的脑海里至少),我将能够沿线的定义表单对象:
Form(
mapping(
"id" -> longNumber,
"name" -> nonEmptyText(min = 5),
"properties" -> map(nonEmptyText, nonEmptyText)
)(Preference.apply)(Preference.unapply)
)
不幸的是,“地图(文本,文本)”是虚构的。有没有人使用表单API对此进行了类似的绑定?如果是这样,怎么样?如果没有,我很好奇你用什么来验证。这一切是手工完成的吗?
在此先感谢您的帮助!
运气好吗? –