Merhaba Bir JSON gövde ayrıştırıcısıyla sorun yaşıyorum. Sorunum, bazı isteğe bağlı parametrelerle (Seçenek [T]) ve Seçenek [T] olarak yazılmasını istemediğim varsayılan bir değere sahip bir parametre içeren bir vaka sınıfım var. İşte Yürütme Scala JSON gövde ayrıştırıcısı varsayılan değer alanı
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]
}
dosyamın sınıftır:
Ancak bir hata Burada
play.api.libs.JsError
/count error path missing
olsun ihmal varsayılan değerle alanına sahip bir JSON vücudu ayrıştırılırken benim denetleyicisi kodu
case class Item(id:Option[Int], name:String, description:Option[String], count:Int=0)
Varsayılan değer alanıyla Seçenek [T] ile aynı davranışı yakalayabilir miyim?
Teşekkür kullanıyorum
:
- Scala 2.10
- Çal Çerçeve 2.2.1
- Play-Slick eklentisi 0.5.0.8
Merhaba, bir seçeneğim olmasını tercih ederim. Sağladığınız bağlantıya gelince. Kullanıcı mevcut çözümünün bazı dezavantajları olduğunu söylüyor ve kabul ettiğimi söylemeliyim. Bununla birlikte, daha iyi bir çözüm önerilmediyse, yaklaşımı – ufasoli
etrafında göremediğim için sonlandırma yapacağım. En iyi çözüm, otomatik olarak withDefault oluşturmak için bir makro yazmayı gerektirecektir, bu durum oldukça zorlu bir iştir :( – Jean
Evet bu Oldukça çok çaba ... – ufasoli