3

Scala と Play フレームワークは初めてです。「CONTACTS」モジュールを作成する必要がありますが、次のエラーが発生します。

type mismatch found : Unit required: play.api.mvc.Result 
    contactVal.save()
where contactVal is defined as 
    val contactVal  = new Contact(service) where service is 
    val service = new ExchangeService()

新しい EWS 連絡先を保存するにはどうすればよいですか?

私のコード:

def add = Action(parse.json) {
  implicit r=>
    val contactVal  = new Contact(service)
    val userId = (r.body \ "userId").asOpt[String].getOrElse("")
    val contactId = (r.body \ "id").asOpt[String].getOrElse("")
    val givenName = (r.body \ "givenName").asOpt[String].getOrElse("")
    val fName = (r.body \ "fName").asOpt[String].getOrElse("")
    val lName = (r.body \ "lName").asOpt[String].getOrElse("")
    val displayName = (r.body \ "displayName").asOpt[String].getOrElse("")
    val emailId1 = (r.body \ "emailId1").asOpt[String].getOrElse("")

    val streetB = (r.body \ "streetB").asOpt[String].getOrElse("")
    val cityB = (r.body \ "cityB").asOpt[String].getOrElse("")
    val stateB = (r.body \ "stateB").asOpt[String].getOrElse("")
    val postalcodeB = (r.body \ "postalcodeB").asOpt[String].getOrElse("")
    val countryB = (r.body \ "countryB").asOpt[String].getOrElse("")
    val phoneHome = (r.body \ "phoneHome").asOpt[Int].getOrElse("")
    val bday = (r.body \ "bday").asOpt[String].getOrElse("")

    contactVal.setGivenName(givenName)
    contactVal.setNickName(fName)
    contactVal.setSurname(lName)
    contactVal.setDisplayName(displayName)

    val bdayDate= new Date()
    bdayDate.setDate(bday.toInt)
    contactVal.setBirthday(bdayDate)

    contactVal.save()
}
4

1 に答える 1

6

問題は、Action 本体のコードの最後の行が play.api.mvc.Result オブジェクトを返さないことです。

参照: http://www.playframework.org/documentation/2.0.1/ScalaActions

アクション本体の最後に Ok (または他の SimpleResult オブジェクト) を追加してみてください。例:

def add = Action(parse.json) { request =>
  ...
  contactVal.save()
  Ok("contact saved") // or if you want to render a templated: Ok(someTemplate())
}
于 2012-05-05T17:08:08.183 に答える