课程章节介绍
让我们来聊聊Apex为REST Web服务提供的额外支持。特别是,Apex允许你在REST方法中使用用户定义的参数类型。这意味着你可以创建自己的类,然后在REST方法中使用这些类的实例作为参数。
当你的REST服务接收到一个请求时,Apex会自动将请求中的数据反序列化,也就是将数据转换成你定义的类的实例。这个过程会填充类的成员变量,无论是公共的、私有的还是全局的,只要这些变量不是静态的或暂时的。
举个例子,假设你有一个类叫做`MyCustomClass`,它有几个成员变量,比如`string1`、`string2`和一个私有变量`privateString`。你可以在REST方法中使用这个类作为参数。当你的服务接收到一个JSON格式的请求时,Apex会将JSON中的数据映射到`MyCustomClass`的实例中。
例如,如果请求的JSON是这样的:
```json
{
"ic": {
"string1": "string 1的值",
"string2": "string 2的值",
"privateString": "private字符串的值"
}
}
```
Apex会将`string1`、`string2`和`privateString`的值分别赋给`MyCustomClass`实例中的对应变量。
同样地,如果请求是XML格式的,Apex也会做类似的处理,将XML中的数据映射到类的实例中。
这种机制使得处理复杂的请求数据变得非常简单和直观,因为你只需要定义好你的类结构,Apex会帮你处理剩下的数据映射工作。这样,你就可以专注于业务逻辑的实现,而不需要担心数据的解析和转换问题。