亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

處理錯誤時如何在ember-data中設置自定義響應json

處理錯誤時如何在ember-data中設置自定義響應json

蕪湖不蕪 2023-05-18 09:56:18
我現在正在使用:ember: 3.8.1ember-data: 3.10.0我正在嘗試從 Grails API 發送帶有一些附加數據的錯誤響應。它看起來像這樣:respond(    status: HttpStatus.UNPROCESSABLE_ENTITY,     errors: errors    additionalData: someMap)在 Ember 的前端,我試圖通過以下方式捕獲它:object.save().then(function () {    // (...)}).catch((response) => {    // Here I want to access "response.additionalData"    // (...)});現在,我知道ember-data它有自己的方式來處理和綁定錯誤響應(https://davidtang.io/2016/01/09/handling-errors-with-ember-data.html),但ember-data: 2.10.0我能夠捕捉到并在 catch with 中使用附加數據處理錯誤response.additionalData。在我使用的版本中,我response.additionalData總是undefined無法以任何方式獲得它。它來自后端,因為我可以在瀏覽器開發工具中看到它作為響應。我怎樣才能在最新的情況下實現這一目標ember-data?我確實嘗試編寫adapter和覆蓋handleResponse函數,但即使是我自己的 CustomErrorClass 仍然像原生的一樣。任何幫助,將不勝感激。提前致謝!
查看完整描述

1 回答

?
藍山帝景

TA貢獻1843條經驗 獲得超7個贊

起初,這沒有幫助,服務器的回答是:

Error:?Assertion?Failed:?Your?transport?record?was?saved?to?the?server,?but?the?response?does?not?have?an?id?and?no?id?has?been?set?client?side.?Records?must?have?ids.?Please?update?the?server?response?to?provide?an?id?in?the?response?or?generate?the?id?on?the?client?side?either?before?saving?the?record?or?while?normalizing?the?response.

然后我HttpServletResponse response像這樣向對象添加響應狀態:

response.status?=?HttpStatus.UNPROCESSABLE_ENTITY.value()

所以完整的響應部分看起來像這樣:

response.status = HttpStatus.UNPROCESSABLE_ENTITY.value()

render([errors: [[status: HttpStatus.UNPROCESSABLE_ENTITY,

? ? ? ? ? ? ? ? ? title : e.message,

? ? ? ? ? ? ? ? ? detail: message,

? ? ? ? ? ? ? ? ? meta? : [additionalData: additionalData]]

]] as JSON)

另請注意,為了使 JSONAPI 格式有效,errors內容位于雙括號中。[[


有了這個,我終于得到了成員的正確答案meta:

spacer.gif

查看完整回答
反對 回復 2023-05-18
  • 1 回答
  • 0 關注
  • 156 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號