光滑 - 如果数据库不包含结果,该怎么办?

时间:2016-04-11 02:03:58

标签: scala rest slick spray

我正在尝试构建一个简单的RESTful服务,该服务在数据库上执行CRUD操作并返回JSON。我有一个服务,坚持这样的API

GET mydomain.com/predictions/some%20string

我使用DAO,其中包含我创建的以下方法来检索关联的预测:

def getPrediction(rawText: String): Prediction = {
  val predictionAction = predictions.filter{_.rawText === rawText}.result
  val header = predictionAction.head
  val f = db.run(header)
  f.onComplete{case pred => pred}
  throw new Exception("Oops")
}

然而,这可能不对,所以我开始阅读Option。我相应地改变了我的代码:

def getPrediction(rawText: String): Option[Prediction] = {
  val predictionAction = predictions.filter{_.rawText === rawText}.result
  val header = predictionAction.headOption
  val f = db.run(header)
  f.onSuccess{case pred => pred}
  None
}

这仍然感觉不太对劲。调用这些过滤器,返回结果以及处理任何不确定性的最佳方法是什么?

0 个答案:

没有答案