我正在寫在噴霧Web應用程序和現在用在這篇文章的底部描述的情況類驗證方法:Spray的要求錯誤信息很難看......我如何定製?
http://spray.io/documentation/1.2.3/spray-routing/advanced-topics/case-class-extraction/
它的偉大工程,但我不滿意消息返回客戶端。除了事實,即它是醜陋的,它揭露了後端的一些細節:
請求內容的格式不正確: 實例化[簡單類型,類com.mycompany.models.users.User $登錄]值失敗:要求 失敗:無效的電子郵件地址(通過參考鏈: com.mycompany.models.users.Login [ 「密碼」])
我想不必多說,只是
無效的電子郵件地址ess
有關如何完成此任何想法?
更新
我實現什麼建議@soong,但最好不是很大(到目前爲止)。
我需要的代碼是require(!zipcode.isEmpty, "Invalid zipcode")
我拒絕處理代碼:
implicit def validationRejectionHandler = RejectionHandler {
case MalformedRequestContentRejection(msg, cause) :: _ =>
complete(BadRequest, s"$msg")
}
的問題是,我想要的消息(「郵政編碼無效」)被包裹在一些其他的文字:
cause.detailMessage = "requirement failed: Invalid zipcode"
任何方式來得到我的確切的錯誤消息,而不必做字符串操作?
您是否熟悉製作自定義異常處理程序? http://spray.io/documentation/1.2.2/spray-routing/key-concepts/exception-handling/ – childofsoong
沒有。這很好。謝謝! – threejeez
那麼我會讓它成爲答案。 – childofsoong