Я хочу иметь возможность иметь метод с необязательным параметром.Когда этот необязательный параметр присутствует, он вызывает конкретный запрос БД, который возвращает записи, отфильтрованные с помощью необязательного параметра.Если этот необязательный параметр отсутствует, я хочу, чтобы он вызывал другой запрос к БД, который не фильтруется по необязательному параметру.
Первый запрос еще не написан, но будет иметь такую же структуру и типы возврата.Второй запрос написан, и работает нормально без необязательного параметра и случаев.
def getRecords(id: String, type: String = ""): Future[List[Set[String]]] = {
case Some(type) =>
val query =>
s"""
| ...
""".stripMargin
case _ =>
val query =>
s"""
| ...
""".stripMargin
record = get(dbResult).asList.asScala.map(_.toString).toSet
}
Я получаю ошибку
The argument types of an anonymous function must be fully known. (SLS 8.5)
Expected type was: scala.concurrent.Future[List[Set[String]]]
: Future[List[Set[String]]] = {
^
Может кто-нибудь объяснить мне, что означает ошибка?а также как спроектировать мой метод так, как мне бы хотелось?
Примечание: некоторые детали метода были опущены.По сути, он просто возвращает запись типа возврата и любые данные, полученные одним из запросов.