salesforce零基础学习(一百零三)项目中的零碎知识点小总结(五) (3)

当我们使用这个 request执行以后对应的 response的层级结构如下,我们可以根据层级结构以及 referenceId查看到指定的 recordId,然后可以通过 get方法获取这条记录的详情信息。

salesforce零基础学习(一百零三)项目中的零碎知识点小总结(五)

 3. 更新 / Upsert 场景

 1)通过记录ID进行更新:根据前面的内容我们会发现 rest api需要确定的三个核心点:  request method / curl / request body。针对记录ID进行更新时, request method选择 patch,curl和通过ID方式获取数据的相同,为 /services/data/v20.0/sobjects/Account/recordId, request body和创建单条数据的方式相同,为键值对方式。demo如下:

salesforce零基础学习(一百零三)项目中的零碎知识点小总结(五)

需要注意的是,我们看 response内容觉得很怪,因为 update不返回相关的内容,我们可以通过status code来判断,比如我们可以通过204去确定一下是否成功。status code状态相关定义可以查看此链接:https://developer.salesforce.com/docs/atlas.en-us.224.0.api_rest.meta/api_rest/errorcodes.htm

下面的demo来了一个报错的情况,所以我们做update的场景也需要进行相关的异常捕获。

salesforce零基础学习(一百零三)项目中的零碎知识点小总结(五)

2)通过外键进行 upsert操作:和上面的三步走相同,upsert的request method为 patch,curl 和上面提到的通过外键获取数据相同,然后request body和上面的更新数据的报文相同。这里直接来一个例子:

 通过下图我们可以看到报文和上面的外键获取数据相同,不做解释,主要看一下 response body。success返回此次操作是否成功,成功情况下为 true,失败的话为false,并且errors存储错误信息,created用来判断当前操作是 insert还是 update,当前的demo为update,所以这项的返回值为false。

salesforce零基础学习(一百零三)项目中的零碎知识点小总结(五)

4. 删除场景:当我们使用API去进行删除时,request method选择delete,url和通过record id获取数据的url相同,没有request body以及没有response的body。我们可以通过status code来追踪当前的删除是否成功。通过下图我们可以看到,删除成功,没有 response body,status code为204.

salesforce零基础学习(一百零三)项目中的零碎知识点小总结(五)

总结:本篇小结主要是两点,一个是针对SSO的细节运用,一个是针对标准的 rest api相关的简单接口操作。针对第二点讲的也比较浅显,如果真正第三方使用还需要配置 Oauth2.0等,详情可以查看API文档。这里做一个有意思的引申,我们知道我们做 lightning项目的时候,以lwc为例。操作数据可以通过 LDS(lightning-record-form等)、 wire adapter(getRecord/ updateRecord等)以及后台apex去做复杂的逻辑操作。通过上面的demo,我们是不是也可以考虑使用标准的 rest api去进行数据的操作?当然,Rest API不只是操作数据,还可以对schema进行相关获取,很强大,建议可以快速扫一下。篇中有错误地方欢迎指出,有问题欢迎留言。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zydwpw.html