1
出現我失去了一些東西,但這裏是我得到的(張貼只有相關的一塊)。 MyService.save返回Future [Option [MyCompany]]。無法找到在Action.async中的播放框架內寫入
def myPost = Action.async(parse.json) { request =>
val mn = Json.fromJson[MyEntity](request.body)
mn.map{
case m : MyEntity => MyService.save(m).map{f=>
f.map(mm=> Ok(mm))
}
}.recoverTotal {
e => Future { BadRequest("Detected error:" + JsError.toFlatJson(e)) }
}
}
雖然我已經定義
implicit val companyWriter: Writes[MyCompany] = (...)
這隱含的是在範圍內,它顯示編譯出錯
Cannot write an instance of MyCompany to HTTP response. Try to define
a Writeable[MyCompany]
FYI:在我做Json.toJson這個作家在其他地方使用(myCompany),並在那裏找到並正常工作。 任何東西特別是異步確定它缺少?
編輯 看來,Ok()方法找不到MyCompany需要轉換爲json。以下似乎工作。
Ok(Json.toJson(mm))
這是因爲Ok的參數可以變化嗎?另外上面的代碼中有太多的「地圖」。任何改進建議並使其更簡潔?