【发布时间】:2019-12-11 08:37:42
【问题描述】:
以下this answer 展示了如何使用案例类将枚举绑定到表单。
但在 Play 2.7.3 中,此代码失败:
No Json serializer found for type jura.SearchRequest. Try to implement an implicit Writes or Format for this type.
当我实现格式化程序时:
object SearchRequest {
implicit val searchRequestFormat: OFormat[SearchRequest] = Json.format[SearchRequest]
}
我明白了
没有 play.api.libs.json.Format 的实例可用于 scala.Enumeration.Value 在隐式范围内
我应该尝试为系统 scala.Enumeration 类型编写格式化程序吗?
或者在涉及枚举时是否有另一种方式来实现格式化程序?
测试用例here。
【问题讨论】:
-
Writes.enumNameWrites已提供。没有案例类定义,我觉得将scala.Enumeration.Value作为属性类型而不是E#Value(对于某些E <: scala.Enumeration)很奇怪 -
你是否在控制
SearchRequest并且它没有被其他库使用? -
@pme 是的,在控制中。它将与 Slick 一起使用。谢谢!
-
您是否也对完全替换
scala.Enumeration的解决方案感兴趣? -
@pme 是的。据我了解,陪审团决定是否应该使用 Enumeration 类或只使用用例类。任何提供类似枚举功能的方法都可以使用 - 但首选是最佳实践方法,我的意思是使用实际的枚举。
标签: forms scala enums playframework