天天看點

【LWC】Resource not found異常的一個可能原因Resource not found異常的一個可能原因

Resource not found異常的一個可能原因

場景

在我目前項目中,有一個用來建立記錄的LWC元件。建立記錄的流程大緻為以下三步:

  1. 使用者輸入資訊
  2. 使用者點選儲存,背景處理資料,建立記錄
  3. 記錄建立成功,跳轉到相應記錄頁面

但是我發現,有時候在使用者點選儲存之後,在表單頭會報錯

Resource not found

。這個錯誤資訊很奇怪,因為一般這種錯誤資訊隻會出現在調用REST API的場景。

排查

其實一開始排查這個錯誤的時候,我是往建立記錄的時候遇到錯誤的方向排查的。我以為是目前使用者簡檔對對象中某些字段沒有權限造成的。這也和錯誤資訊所表達的資訊相似。但是經過排查之後,我發現記錄實際上已經被建立了。

找到原因

那麼,在記錄被建立的情況下,是什麼出錯了呢?我們回到整個流程中,1、2步實際上是成功的,錯誤發生在第三步。原來,我建立的這個對象,在某些字段值較為特殊的情況下,會将閱讀權限隻賦予給記錄的所有人。如果目前建立的使用者并非建立後的記錄的所有人,那麼目前使用者将沒有權限看到這條記錄,是以,也就會遇到

Resource not found

的錯誤。目前使用者的視角上來看,這條記錄是不存在的。

解決方案

解決方案就仁者見仁智者見智了,你可以在跳轉頁面前檢查一下對跳轉的記錄有沒有權限,以保證在沒有權限的情況下,提示使用者錯誤資訊。另一種方式是,如果背景傳回的錯誤資訊為

Resource not found

,則你自定義一個使用者能看懂的資訊,并且跳轉回清單畫面。總之,根據業務友好的方式,設計你的處理方式。

繼續閱讀