如何在将对象传递给Scala中的函数之前检查用户输入的值?

如何在将对象传递给Scala中的函数之前检查用户输入的值?,scala,sangria,Scala,Sangria,我用的是Scala和Sangria。 1) 假设有一个 case class Student { Int rollNo, Int busNo, Int phoneNo } 2) 我得到一个请求对象,其中 req - School - Home - Student - rollNo - busNo - phoneNo 3) 我有一个转换函数,可以将graphQL样式的对象转换为纯Scala对象 现在,我必须检查给定输入req中是否存在总线号,如

我用的是Scala和Sangria。 1) 假设有一个

case class Student {
  Int rollNo,
  Int busNo,
  Int phoneNo
}
2) 我得到一个请求对象,其中

req 
 - School
 - Home
 - Student
     - rollNo
     - busNo
     - phoneNo
3) 我有一个转换函数,可以将graphQL样式的对象转换为纯Scala对象

现在,我必须检查给定输入req中是否存在总线号,如果不存在,将默认总线号设置为10

现在,

def someFunc(item: Option[UIRequestModel]): Future[UIResponseModel] = {
val req = CleanseRequest(
      <SomeTHing Related to School which works fine>,
      <Something related to Home which works fine>,
      item.flatMap(_.student.map(Utils.UIStudentToStudent)) //here _.student.map(_.busNo...
    //but after that I'm struck. I would like to check if the value is set or not for busNo, if //not set default value. 
    )
}
def someFunc(项:选项[UIRequestModel]):未来[UIResponseModel]={
val req=清除请求(
,
,
item.flatMap(u.student.map(Utils.UIStudentToStudent))//这里u.student.map(u.busNo。。。
//但是在那之后我被打动了。我想检查busNo的值是否设置了,如果//没有设置默认值。
)
}

此时我无法更改案例类代码或层次结构。

您是否使用Sangria的
模式
-类?因为我会在解析模式时找到这些类型的答案。如果您有类似的解决方案,我可以为您提供指导