Dynamics 365: 从0到1了解如何创建Custom API(1) - 在Power Apps中创建

今天介绍一下如果创建Custom API,我们首先需要知道它和action有什么区别,什么时候使用Custom API或者Action?

  • Custom API和Action的区别

Create your own messages (Microsoft Dataverse) - Power Apps | Microsoft Learn

  • 什么时候使用Custom API或者Action?

Custom API与Action在参数较少的情况下,性能类似,但随着参数的增加,action的性能会开始下降。并且Custom API相较于Action更易于维护,比如在参数维护这块。对于新开发的API,只要不是有特殊需求的,我们都可以使用Custom API;对于老的action,我们可以根据它目前的性能来决定是否转成Custom API。

如果需要将Action转成Custom API的话,可以使用XrmToolBox里的Custom Action to Custom API Converter工具。

我们使用Power Apps创建一个custom api需要通常需要创建创建三条记录在解决方案中:自定义 API, 自定义API请求参数,自定义API响应参数 

1. 创建自定义API
  • 我们需要有一个新的解决方案,或者使用已有的解决方案,这里我们创建一个新的解决方案来用来存放Custom API。
  • 进入解决方案,新建 -> 更多 -> 其他 -> 自定义API(New > More > Other > custom API )

  • 按照下面的截图去填写:
    • 负责人:可以填写user或者team的引用
    • 唯一名称:这个有填写规则,可以看我最后的注意事项
    • 描述:描述该custom api
    • 绑定类型:全局,实体,实体集合三种;如果想只针对某一个实体可用则选实体,并且在“绑定的实体逻辑名称”字段中填入实体的逻辑名称,比如:account; 全局的话“绑定的实体逻辑名称”字段为空。
    • 是否为功能:如果为是则走http get请求不会改变数据,并且url的长度不能超过32768个字符;如果为否则走http post请求,可以修改数据。
    • 插件类型:这个字段虽然不是必填的,但是当我们创建完成Custom API,并且为我们的Custom API写好了插件代码后,我们需要把这个插件填入进去,这个我会在之后的帖子里进行演示。

2.  创建自定义API请求参数

解决方案,新建 -> 更多 -> 其他 -> 自定义API请求参数(New > More > Other > Custom API Request Parameter

建议自定义API请求参数的名称和显示名称前加上自定义API的名称来进行区分,这样在解决方案中看起来会更加直观。

有几个输入参数就需要创建几条自定义API请求参数记录。

3. 创建自定义API响应属性

解决方案,新建 -> 更多 -> 其他 -> 自定义API响应属性(New > More > Other > Custom API Response Property)

自定义API响应属性也一样建议在名称和显示名称前加上自定义API的名称来进行区分,这样在解决方案中看起来会更加直观。

有几个响应参数就需要创建几条自定义API响应属性记录。

4. 创建完成上面的几步之后,我们就可以通过查看元数据来检查我们创建的这个API了,但前提是我们没有在创建自定义API的时候将"为专用"字段设为是。

查看元数据的方法:https://<yourorg>.<yourcrm>.dynamics.com/api/data/v9.1/$metadata

需要注意上面查看元数据的方法只适用于Global的D365,如果你的D365是21V的,也就是中国区的,那和这个地址是不一样的。

上面这些步骤完成后,接下来就是为Custom API编写插件代码,并与Custom API进行关联了,这一步我会在之后的帖子里去说明。

注意
  • 一旦Custom API创建后,有些字段就不可更改了,所以创建前需要谨慎填写

  • 对于自定义API中的唯一名称:它的值必须包含与解决方案发布者的前缀相匹配的自定义前缀,并且必须以字母开头,而且只能由字母数字和_.{}!字符。比如后面的这几个都是不可以的:djgetaccountbyid, djgetaccountbyid@
  • 对于自定义API请求参数和自定义API响应属性:唯一名称不需要加前缀,并且调用api时的参数名称就是它
参考链接

Create and use custom APIs (Microsoft Dataverse) - Power Apps | Microsoft Learn

CustomAPI tables (Microsoft Dataverse) - Power Apps | Microsoft Learn

Create a custom API in Power Apps (Microsoft Dataverse) - Power Apps | Microsoft Learn

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/6514.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

spring框架学习记录(2)

文章目录 注解开发bean相关注解开发定义bean纯注解开发纯注解开发中bean的管理 依赖注入相关依赖注入第三方bean管理第三方bean依赖注入 AOP(Aspect Oriented Programming)面向切面编程AOP简介AOP核心概念AOP工作流程AOP切入点表达式通知类型AOP通知获取数据 注解开发 bean相关…

C++11:lambda表达式及function包装器

目录 1、什么是lambda表达式 2、lambda表达式 2.1 lambda表达式语法 2.2 捕获列表说明 3、function包装器 bind 1、什么是lambda表达式 Lambda表达式是一种在C11中引入的功能&#xff0c;允许我们定义匿名函数。它的语法比较简洁&#xff0c;可以方便地在需要函数对象的地…

Idea 自动生成测试

先添加测试依赖&#xff01;&#xff01; <!--Junit单元测试依赖--><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><version>5.9.1</version><scope>test</scope><…

2024年手把手教你安装iMazing3 中文版图文激活教程

热门苹果设备备份管理软件iMazing日前正式发布了全新的 3.0 版本。它采用了全新的设计和架构&#xff0c;并且率先支持Apple Vision Pro安装软件和导入数据。团队表示&#xff0c;这是市场首个第三方支持Apple Vision Pro的管理工具。 iMazing是一款兼容Win和Mac的iOS设备管理…

什么是sql注入攻击?

什么是sql注入攻击? 就是在对用户的输入的数据没有进行很好的处理,从而导致输入变成了sql语句的一部分了,正常来说用户输入的数据只是参数,但是不是的 举个例子吧 比如在登录的时候,用户名是fjg,密码是123456,但是黑客了,不知道密码,但是知道你sql的相关处理的不好,黑客这样操…

杭电 OJ 1000-1009 Java解法

Problem Set 1000 高精度 import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scnew Scanner(System.in);while(sc.hasNext()){System.out.println(sc.nextBigInteger().add(sc.nextBigInteger()));}} } 1001 位运算防爆 1000…

解决Linux中磁盘满/dev/vda1使用率100%问题

发现根目录下占用100%&#xff0c;具体还要排场到底是有哪些大文件占用 那么就在根目录下查询各个子文件夹的占用状态&#xff0c;有过大不用的即可删除 df -h *我的磁盘是100G&#xff0c;但这些总共加起来也接近不了这个数值 那就是有可能出现 已删除空间却没有释放的进程…

嵌入式学习day09

每日面试题 堆栈溢出的原因有哪些 ①函数调用层次太深&#xff0c;函数递归调用时&#xff0c;系统要在栈中不断保存函数调用时的线程和产生的变量&#xff0c;递归调用太深&#xff0c;会造成栈溢出&#xff0c;这时递归无法返还。 ②动态申请空间使用后没有释放。由于C语言…

(centos)yum安装mysql8.4

1.MySQL官方已经提供了适用于不同Linux发行版的预构建软件包&#xff0c;包括适用于CentOS的Yum Repository MySQL :: MySQL Community Downloads 2.在/usr/local文件夹下创建mysql文件夹&#xff0c;将下载的rpm文件放到目录下 3.执行安装命令 yum install mysql-community-…

Vue3 + Vite + TypeScript + Element-Plus创建管理系统项目

官方文档 Vue3官网 Vite官方中文文档 创建项目 使用npm命令创建项目&#xff1a; npm create vitelatest输入项目名称&#xff1a; ? Project name:项目名选择vue&#xff1a; ? Select a framework: - Use arrow-keys. Return to submit.Vanilla > VueReactPrea…

jupyter notebook 设置密码报错ModuleNotFoundError: No module named ‘notebook.auth‘

jupyter notebook 设置密码报错ModuleNotFoundError: No module named ‘notebook.auth‘ 原因是notebook新版本没有notebook.auth 直接输入以下命令即可设置密码 jupyter notebook password

「JavaEE」线程安全2:内存可见性问题 wait、notify

&#x1f387;个人主页&#xff1a;Ice_Sugar_7 &#x1f387;所属专栏&#xff1a;JavaEE &#x1f387;欢迎点赞收藏加关注哦&#xff01; 内存可见性问题& wait、notify &#x1f349;Java 标准库的线程安全类&#x1f349;内存可见性问题&#x1f34c;volatile 关键字 …

M2M vs. IoT?

有任何关于GSMA\IOT\eSIM\RSP\业务应用场景相关的问题&#xff0c;欢迎W: xiangcunge59 一起讨论, 共同进步 (加的时候请注明: 来自CSDN-iot). 连接设备已经开辟了创造价值和解决重大世界问题的广泛机会&#xff0c;例如可持续发展。 今天&#xff0c;我们网络设备的方式可…

【linuxC语言】vfork、wait与waitpid函数

文章目录 前言一、函数使用1.1 vfork1.2 wait1.3 waitpid 二、示例代码总结 前言 在Linux系统编程中&#xff0c;vfork()、wait() 和 waitpid() 函数是处理进程管理和控制流的重要工具。这些函数允许我们创建新进程、等待子进程结束并获取其退出状态&#xff0c;从而实现进程间…

GDPU JavaWeb 猜字母游戏

他在对你重定向打卡的大饼与立即跳转到你面前的谎言之间反复横跳。 sendRedirect与forward sendRedirect与forward区别 sendRedirect用于将请求重定向到另一个资源&#xff0c;可以是同一个应用程序内的其他 Servlet&#xff0c;也可以是其他 Web 应用程序的资源&#xff0c;…

配电网光伏储能双层优化配置模型(选址定容)

随着主动配电网中不可控分布式电源(distributed generation,DG)渗透率的不断提高,其给配电网规划运行提 出了更大的挑战,可能导致配电网电压越限、清洁能源弃电 等问题。基于此,该文在规划阶段充分应用不同类型 DG 和 负荷的时序性和潮流计算特性,以及引入不同恢复率的激励…

telement-plus中table合并行或者列

#element-plus中会有自带的合并方法 通过给 table 传入span-method方法可以实现合并行或列&#xff0c; 方法的参数是一个对象&#xff0c;里面包含当前行 row、当前列 column、当前行号 rowIndex、当前列号 columnIndex 四个属性。 该函数可以返回一个包含两个元素的数组&…

农作物害虫检测数据集VOC+YOLO格式18975张97类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;18975 标注数量(xml文件个数)&#xff1a;18975 标注数量(txt文件个数)&#xff1a;18975 标…

minio忘记密码

安装minio 对象存储minio-CSDN博客 cat << EOF > /etc/default/minio# Volume to be used for Minio server. MINIO_VOLUMES"/data"# Use if you want to run Minio on a custom port. #MINIO_OPTS"--address :9001" MINIO_OPTS"--address …

卷积神经网络要点和难点实际案例和代码解析

卷积神经网络(Convolutional Neural Networks,CNN)是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一。卷积神经网络仿造生物的视知觉机制构建,可以进行监督学习和非监督学习,其隐含层内的卷积核参数共享和层间连接的稀疏性使得卷积神经网络能够…