Xin chào, tôi đang gặp sự cố với trình phân tích cú pháp cơ thể JSON. Vấn đề của tôi là sau đây tôi có một trường hợp lớp với một số tham số tùy chọn (Option [T]) và một tham số với một giá trị mặc định mà tôi không muốn được gõ là Option [T].Chơi trường giá trị mặc định của trình phân tích cú pháp nội dung JSON Scala
Tuy nhiên khi phân tích một cơ thể JSON có đồng ruộng với giá trị mặc định bỏ qua tôi nhận được một lỗi
play.api.libs.JsError
/count error path missing
Đây là mã điều khiển của tôi:
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]
}
Đây là lớp trường hợp của tôi:
case class Item(id:Option[Int], name:String, description:Option[String], count:Int=0)
Bất kỳ cơ hội nào tôi có thể đạt được hành vi tương tự như Tùy chọn [T] với trường giá trị mặc định?
Cảm ơn
Tôi đang sử dụng:
- Scala 2.10
- Chơi Khung 2.2.1
- Play-Slick Plugin 0.5.0.8
Xin chào, cảm ơn tôi không muốn có tùy chọn. Đối với liên kết bạn đã cung cấp. Người dùng nói rằng giải pháp hiện tại của anh ta có một số nhược điểm và tôi phải nói rằng tôi đồng ý. Tuy nhiên nếu không có giải pháp tốt hơn được đề nghị tôi sẽ kết thúc bằng cách sử dụng cách tiếp cận của mình như tôi không thấy một cách xung quanh – ufasoli
Giải pháp tốt nhất sẽ liên quan đến việc viết một macro để tự động tạo withDefault, đây là khá thực hiện mặc dù: ( – Jean
) khá nhiều nỗ lực ... – ufasoli