HTTP Classes Overview

DEX455 - Apex 集成与工具完全指南:Callouts、命名凭据、WSDL2Apex、Mock 测试

📄 第 383 页 🎬 视频课程

课程章节介绍

同学们,咱们今天来看看 Apex 里用于做 HTTP 调用的几个核心类。这些类其实就是 Salesforce 用来跟外部系统“打电话”的工具,比如你调用第三方 API、发个消息或者获取数据,都会用到它们。 第一个是 ,Http 类,,它类似于一个通话发起器,你用它来发送请求、接收响应。我们平时写代码时,会先创建一个 Http 对象,然后拿一个请求交给它去执行,它就会把远端服务器的响应带回来。 那请求本身怎么构造呢?这就用到 ,HttpRequest 类,。它就像你要寄出的一封信,你可以在这封信里指定很多东西:用什么方法发送,是取数据的 GET,还是提交表单的 POST,或者做部分更新的 PATCH、整体替换的 PUT;你还可以设置请求头,告诉对方你的身份或数据格式;甚至还能设定读取超时和连接超时,避免一直傻等;另外也能控制是否跟随重定向,以及在消息正文里放上你要传过去的具体内容,比如 JSON 或 XML 格式的数据。 当 Http 对象发送完请求,返回的就是一个 ,HttpResponse 类,的实例。这个响应就像你收到的回信,你可以从它里面读到状态码,比如 200 表示成功,404 表示没找到;也能拿到响应头,里面包含服务器类型、内容长度等信息;最重要的还是响应正文,里面很可能就是你真正需要的数据,比如一段 JSON 或者 XML 字符串。 那拿到正文里的 XML 或者 JSON 怎么办呢?别担心,Salesforce 给了我们配套的解析工具——XML 解析类和 JSON 解析类。你可以用它们把那些文本嗖地一下转成 Apex 里的对象,然后轻松地把数据取出来用。 好,总结一下:Http 类负责“发”,HttpRequest 负责“装请求”,HttpResponse 负责“装回应”,而 XML 和 JSON 工具类负责“拆包解析”。这一套配合起来,就能让 Salesforce 跟外面的世界畅通无阻地交流。大家记住这三个核心角色,后面的练习就会非常顺畅了。

关键词

Apex Salesforce Developer Guide