2012-05-05 2 views
3

저는 Scala와 Play 프레임 워크에 익숙하지 않습니다. 나는 "연락처"모듈을 생성해야하지만, 나는 다음과 같은 오류가 점점 오전 : 나는 새로운 EWS의 연락처를 저장하려면 어떻게컨트롤러 동작이 "형식 불일치 발견 : 컴파일되지 않음 : 단위 필요 : play.api.mvc.Result"

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() 

를?

내 코드 :

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() 
} 
+0

자세한 내용을 입력하고 서식을 사용하고 최소한의 샘플을 사용하십시오. – biesior

+0

코드 전체를 아래에서 확인하십시오 : – Alpesh003

+0

이 줄의 "contactVal.save()"는 오류를 나타냅니다 : 형식이 일치하지 않습니다. : 필요한 장치 : play.api.mvc.Result – Alpesh003

답변

6

문제는 액션 본문에 코드의 마지막 줄은 play.api.mvc.Result 개체를 반환하지 않습니다.

참조 : http://www.playframework.org/documentation/2.0.1/ScalaActions

시도는 액션 바디의 끝에 확인 (또는 다른 SimpleResult 개체)를 추가. 예 :

def add = Action(parse.json) { request => 
    ... 
    contactVal.save() 
    Ok("contact saved") // or if you want to render a templated: Ok(someTemplate()) 
}