创建自定义 API 时,必须使用解决方案。 如果不熟悉解决方案,请先阅读 “创建解决方案”。
解决方案必须与发布者相关联。 发布者具有与之关联的特定自定义前缀。 创建自定义 API 时必须使用自定义前缀,并且此前缀应与解决方案发布者使用的前缀相同。 以下说明使用该值 sample 作为自定义前缀,因为它是发布者设置的值。
重要
- 现在有更好的创建自定义 API 体验。 可以在插件注册工具中使用设计器。 详细信息: 使用插件注册工具创建自定义 API
- 创建自定义 API 后,无法更改与创建自定义 API 相关的许多字段。 在开始之前,应仔细规划自定义 API 的设计。 如果以后决定在创建自定义 API 后需要更改内容,则可能需要删除现有记录并重新创建自定义 API。 请查阅此处不可修改列的说明:CustomAPI 表
创建自定义 API 记录
在解决方案中,从下拉列表中选择“新建>更多其他>>自定义 API”。
编辑字段以设置自定义 API 的属性。 必须设置以下字段的值。 有关详细信息,请参阅 自定义 API 表列
在创建插件之前,无法为 插件类型 设置值。 以后可以更改此属性。
选择“保存”。 窗体应如下所示:
创建任何请求参数
自定义 API 不需要参数。 根据需要创建任意数量的参数来传递逻辑所需的数据。
在解决方案中,从下拉列表中选择“新建>更多其他>>自定义 API 请求参数”。
编辑字段以设置自定义 API 请求参数的属性。 有关详细信息,请参阅 CustomAPIRequestParameter 表列
选择“保存”。 窗体应如下所示:
创建任何响应属性
表示动作的自定义 API 不需要响应属性。 函数必须至少有一个。 如果操作成功,则返回成功响应。 如果失败,它将返回错误。 应为 API 返回的任何数据定义响应属性。
如果只定义了一个 Entity 或 EntityCollection 响应属性,则响应属于该类型。 如果有多个属性或一个或多个简单类型的属性,API 将返回一个复杂类型,其中每个响应属性都是该复杂类型的属性。
例如,如果自定义 API 唯一名称 sample_CustomAPIExample,它将返回一个复杂 sample_CustomAPIExampleResponse 类型,其中包含定义的每个响应属性的属性。
在解决方案中,从下拉列表中选择“新建>更多其他>>自定义 API 响应属性”。
编辑字段以设置自定义 API 响应属性的属性。 有关详细信息,请参阅 CustomAPIResponseProperty 表列
选择“保存”。 表单应该看起来像这样。
观察服务文档中的结果
如果尚未为自定义 API 设置IsPrivate属性,现在可以使用请求(甚至从浏览器)从 GET检索服务定义。 如果环境的 URL 为https://yourorg.crm.dynamics.com,则可以在浏览器地址字段中键入此 URL 以检索$metadata: https://yourorg.crm.dynamics.com/api/data/v9.1/$metadata
搜索结果以查找自定义 API 的名称。 例如,使用上述步骤定义的 API 如下所示:
<ComplexType Name="sample_CustomAPIExampleResponse">
<Property Name="StringProperty" Type="Edm.String" Unicode="false" />
</ComplexType>
<Action Name="sample_CustomAPIExample">
<Parameter Name="StringParameter" Type="Edm.String" Nullable="false" Unicode="false" />
<ReturnType Type="mscrm.sample_CustomAPIExampleResponse" Nullable="false" />
</Action>
测试自定义 API
创建自定义 API 后,可以尝试它。 即使尚未设置插件类型来定义主作,现在也可以对其进行测试,以验证是否可以正确调用它。 任何响应属性都返回其默认值,例如 null。 详细信息: 调用自定义 API。
更新自定义 API 插件类型
有关如何为自定义 API 编写插件的信息,请参阅 为自定义 API 编写插件。
注册程序集后,需要为创建的自定义 API 设置 插件类型 值。 此为查找属性,您只需定位代表注册程序集时创建的类型对应的插件类型。
设置 插件类型后,可以测试自定义 API 以验证是否返回了正确的结果。
创建自定义 API 的其他方法
插件注册工具提供自定义 API 设计器。 详细信息: 使用插件注册工具创建自定义 API
可能需要创建允许在设计器外部创建自定义 API 的客户端应用程序。 由于自定义 API 的数据存储在表中,因此可以使用代码创建它们。 详细信息: 使用代码创建自定义 API。
通过编辑解决方案文件创建自定义 API,可以更好地处理 ALM 过程。 详细信息: 使用解决方案文件创建自定义 API。
另请参阅
创建和使用自定义 API
使用插件注册工具创建自定义 API
使用代码创建自定义 API
使用解决方案文件创建自定义 API
创建自己的邮件