【LWC】Resource not found异常的一个可能原因

Resource not found异常的一个可能原因

场景

在我当前项目中,有一个用来创建记录的LWC组件。创建记录的流程大致为以下三步:

  1. 用户输入信息
  2. 用户点击保存,后台处理数据,创建记录
  3. 记录创建成功,跳转到相应记录页面

但是我发现,有时候在用户点击保存之后,在表单头会报错 Resource not found 。这个错误信息很奇怪,因为一般这种错误信息只会出现在调用REST API的场景。

排查

其实一开始排查这个错误的时候,我是往创建记录的时候遇到错误的方向排查的。我以为是当前用户简档对对象中某些字段没有权限造成的。这也和错误信息所表达的信息相似。但是经过排查之后,我发现记录实际上已经被创建了。

找到原因

那么,在记录被创建的情况下,是什么出错了呢?我们回到整个流程中,1、2步实际上是成功的,错误发生在第三步。原来,我创建的这个对象,在某些字段值较为特殊的情况下,会将阅读权限只赋予给记录的所有人。如果当前创建的用户并非创建后的记录的所有人,那么当前用户将没有权限看到这条记录,因此,也就会遇到 Resource not found 的错误。当前用户的视角上来看,这条记录是不存在的。

解决方案

解决方案就仁者见仁智者见智了,你可以在跳转页面前检查一下对跳转的记录有没有权限,以保证在没有权限的情况下,提示用户错误信息。另一种方式是,如果后台返回的错误信息为Resource not found,则你自定义一个用户能看懂的信息,并且跳转回列表画面。总之,根据业务友好的方式,设计你的处理方式。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单的Salesforce LWC(Lightning Web Component)检索页面的实现步骤: 1. 创建一个LWC组件,可以使用Salesforce CLI或者在Salesforce中创建一个新的Lightning Web Component。 2. 在LWC组件中,创建一个HTML模板来定义检索页面的布局,例如创建一个搜索框和一个搜索按钮。 3. 创建一个JavaScript文件,来处理搜索逻辑。在搜索逻辑中,使用Lightning Data Service或者Apex Controller来搜索数据。 4. 将搜索结果展示到检索页面中。 5. 可以添加一些其他的功能,例如分页、排序等。 下面是一个简单的例子代码,可以帮助你开始实现一个LWC检索页面: HTML模板: ```html <template> <div> <lightning-input label="Search" value={searchTerm} onchange={handleSearchTermChange}></lightning-input> <lightning-button variant="brand" label="Search" onclick={handleSearch}></lightning-button> <template if:true={searchResults}> <ul> <template for:each={searchResults} for:item="result"> <li key={result.Id}>{result.Name}</li> </template> </ul> </template> </div> </template> ``` JavaScript文件: ```javascript import { LightningElement, wire } from 'lwc'; import searchContacts from '@salesforce/apex/ContactController.searchContacts'; export default class ContactSearch extends LightningElement { searchTerm = ''; searchResults; handleSearchTermChange(event) { this.searchTerm = event.target.value; } handleSearch() { searchContacts({ searchTerm: this.searchTerm }) .then(result => { this.searchResults = result; }) .catch(error => { // Handle error }); } } ``` 在这个例子中,我们使用了标准的Salesforce Contact对象,并且调用了一个Apex Controller来搜索联系人数据。你可以替换为你自己的对象和Apex Controller。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值