こんにちは、JSONボディパーサーに問題があります。 私の問題は、いくつかのオプションのパラメータ(Option [T])とOption [T]としてタイプしたくないデフォルト値のパラメータを持つケースクラスがあることです。PlayスカラJSONボディパーサーのデフォルト値フィールド
は、しかし、私はここでエラー
play.api.libs.JsError
/count error path missing
を取得する省略時のデフォルト値を持つフィールドを持つJSON本体を解析するときには、私のコントローラのコードは次のとおりです。ここで
object MyController extends Controller{
implicit val itemWrites = Json.writes[Item]
implicit val itemReads = Json.reads[Item]
implicit val itemFormats = Json.format[Item]
def add = DBAction(parse.json){ implicit rs =>
val item = rs.request.body.validate[Item]
}
は、私の場合クラスです:
case class Item(id:Option[Int], name:String, description:Option[String], count:Int=0)
私はOption [T]と同じ動作をデフォルト値フィールドで実現できますか?
おかげで私が使用している
:
- Scalaの2.10
- プレイフレームワーク2.2.1
- プレイ - スリックプラグイン0.5.0.8
こんにちは、ありがとう、私はむしろオプションがありません。あなたが提供したリンクについて。ユーザーは彼の現在の解決策にはいくつかの欠点があり、私は同意する必要があると言わなければならない。しかし、よりよい解決策が提示されない場合、私は道を見ていないので、私は彼のアプローチを使用して最終的に解決します – ufasoli
最高の解決策は、withDefaultを自動的に作成するマクロを作成することですが、これはかなり手がかりです:( – Jean
はいかなり多くの努力が... – ufasoli