简体   繁体   English

Playframework - 如何实现读取列表?

[英]Playframework - how to implement Reads for list?

I have a custom reads I am using, which looks like this:我有一个正在使用的自定义读取,如下所示:

def myReads(companyId: Long): Reads[MyClass] = (
  (JsPath \ "name").read[String] and
    Reads.pure(companyId)
  ) (MyClass.apply _)

I am trying to read a List of MyClass, and I am not sure how.我正在尝试阅读 MyClass 列表,但我不确定如何阅读。 So if I wanted to read only one MyClass I did it like this by providing my reads:因此,如果我只想阅读一个 MyClass,我会通过提供我的阅读来做到这一点:

request.body.validate[MyClass](MyClass.myReads(100)).fold(e => , valid => )

The thing is I want to read a list of MyClass so I tried something like this:问题是我想阅读 MyClass 的列表,所以我尝试了这样的事情:

request.body.validate[List[MyClass]](( __ \ "list").read[List[MyClass]](MyClass.myReads(100)).fold()

But it expect Reads for list, not sure how to fix it.但它期望读取列表,不知道如何修复它。 Have any ideas?有什么想法吗?

Thanks!谢谢!

Your reads must be你的阅读必须是

request.body.validate[List[MyClass]](
  ( __ \ "list").read[List[MyClass]](
    Reads.list(MyClass.myReads(100))
  )
).fold()

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM