Apex REST — Request & Response Data Rules

DEX455 - Apex Web 服务完全指南:SOAP Web 服务与 Apex REST

📄 第 259 页 🎬 视频课程

课程章节介绍

好,同学们,我们来看这一页。它讲的是在使用 Salesforce REST API 的时候,发送请求要遵守的一些数据规则,还有服务端会自动返回哪些状态码。 先说请求数据里面的几个注意点。 第一个,对于布尔值,也就是真或假,它只接受 true、false,或者数字 1 和 0。其他写法都会报错。 第二,如果你在请求里不小心把同一个参数传了多次,比如网址里同一个字段写了两次,那服务器会直接给你回一个 400 错误,意思是你的请求格式不对。 第三,关于空值的处理。如果你想表示一个字段没有值,可以直接把它从请求体里省略掉;如果用 JSON,也可以写成 null;如果用的是 XML 格式,就需要用 xsi:nil 这个属性来表示空。 第四,名称空间的要求。涉及到元数据(Metadata)的时候,必须带上正确的 XML 命名空间,不能乱来。而且,元数据类型的字段也有限制,不是所有标准字段都能直接用,调用前最好查一下文档。 接下来,我们再看响应状态码。这些都是服务端处理完请求后自动设置的,不用你管。你要知道的是,不同码的意思: - 200 表示一切正常,请求成功。 - 如果你发的是 PATCH 更新请求,但改完之后没发现数据变化,会返回 204,代表成功但没内容返回。 - 400 就是我们刚才说的,请求格式有问题,或者参数不合法。 - 403 是你没有权限访问这个资源。 - 404 就是 URL 路径写得不对,没找到对应的 API 映射。 - 405 是你用了不支持的 HTTP 方法,比如这个接口只接受 GET,你偏偏用了 POST。 - 406 和 415 都是跟内容类型有关的问题,比如你要求的响应格式不支持,或者你发送的数据格式不对。 - 最后,500 是通用的服务器内部错误,如果你的 Apex 代码里有没处理到的异常,就可能看到这个。 好,这一页就讲这些。记住核心:布尔值别乱写、参数别重复、空值按规则来,再对照状态码就能快速定位问题。有什么疑问可以随时问。

关键词

Apex Salesforce Developer Guide