Oracle apex 如何进行Web源代码操作';s URL模式获取它';当它';谁分配了一个参数?

Oracle apex 如何进行Web源代码操作';s URL模式获取它';当它';谁分配了一个参数?,oracle-apex,Oracle Apex,当您通过对象浏览器>单击表>REST选项卡自动测试启用表时,您将获得一个RESTful URI。如果您随后使用该RESTful URI构建一个web源代码,您将得到五个操作—使用一个点作为URL模式进行get,使用URL模式进行get、PUT、POST和DELETE操作的值为:deptno。在该web源上使用表单构建报表时,您会发现所有数据库操作都运行良好,可以通过表单插入、更新和删除报表,还可以运行报表以获取表中的所有行。我需要知道这个过程在后台是如何工作的?自动行处理流程如何知道要使用哪个操

当您通过对象浏览器>单击表>REST选项卡自动测试启用表时,您将获得一个RESTful URI。如果您随后使用该RESTful URI构建一个web源代码,您将得到五个操作—使用一个点作为URL模式进行get,使用URL模式进行get、PUT、POST和DELETE操作的值为:deptno。在该web源上使用表单构建报表时,您会发现所有数据库操作都运行良好,可以通过表单插入、更新和删除报表,还可以运行报表以获取表中的所有行。我需要知道这个过程在后台是如何工作的?自动行处理流程如何知道要使用哪个操作和处理程序?例如,我知道交互式报告查找具有“获取行”的操作,这是数据库操作。因此,我假设表单的自动行处理使用与要执行的进程相关的数据库操作查找Web源的操作。例如,(如果我错了,请纠正我)当单击“创建”按钮时,它表示将发生一个插入过程,因此,它将使用数据库操作“插入行”搜索web源的操作,然后它将找到与HTTP方法属性的值“POST”相关的处理程序。更新和删除也是如此。我想知道我的理解是否正确,我需要知道URL模式是如何得到它的参数的
:deptno

您对表单区域选择Web源操作的理解是正确的。在表单区域内,单击按钮的名称(:REQUEST)实际上决定了DML操作(创建=插入,保存=更新,删除=删除)


:deptno
URL参数也必须在REST数据源的参数部分中创建。设置好后,您将看到页面设计器树中的表单区域节点具有一个参数节点-在该节点中,您可以将Web源模块参数映射到页面项、应用程序项或其他内容。

您对选择Web源操作的表单区域的理解是正确的。在表单区域内,单击按钮的名称(:REQUEST)实际上决定了DML操作(创建=插入,保存=更新,删除=删除)

:deptno
URL参数也必须在REST数据源的参数部分中创建。设置好后,您将在页面设计器树中看到表单区域节点,该节点具有一个参数节点-在该节点中,您可以将Web源模块参数映射到页面项、应用程序项或其他内容。

如前所述,主键值在Web源模块中是特殊的。在您的例子中,:deptno占位符(作为URL的一部分)对应于deptno数据配置文件列。 对于DML处理程序(PUT、POST、DELETE),您不需要将它们定义为Web源模块参数,但URL占位符必须与数据配置文件中的列名匹配。这是通过设计实现的—Web源代码模块以这种方式工作。

如前所述,主键值在Web源代码模块中是特殊的。在您的例子中,:deptno占位符(作为URL的一部分)对应于deptno数据配置文件列。
对于DML处理程序(PUT、POST、DELETE),您不需要将它们定义为Web源模块参数,但URL占位符必须与数据配置文件中的列名匹配。这是通过设计实现的——Web源代码模块就是以这种方式实现的。

这是我不理解的另一件事。当您像我所说的那样自动REST一个表,然后在其上构建一个web源模块时,无论是在模块上还是在操作级别上,您都不会看到URL模式的参数,尽管URL模式字段的帮助说明您必须这样做。因此,表单节点下没有参数节点。那么它是如何得到它的值的呢?自动REST表的URL模式是主键列的占位符。由于“更新行”或“删除行”操作在没有主键的情况下无法工作,APEX从表单的主项(或交互式网格的主键列)获取此参数的值。在这种情况下,APEX“知道”从何处获取值,因此不需要显式的参数定义。这有帮助吗?当然有帮助,但在下面的Oracle视频中(不幸的是,它是阿拉伯语的,但您可以理解开发人员在做什么,正如您所看到的),您可以在22:13分钟看到他通过RESTful服务页面手动构建模块、模板和处理程序。在27:20分钟,他使用手动创建的URI模板构建了一个web资源。在第58:04分钟,您将看到使用URL模式创建的GET和PUT操作:deptno,但没有将其作为模块或处理程序级别的参数。他随后创建了删除操作……然后使用该服务创建了一个表单和报表,所有操作都正常工作。怎么会?!有什么帮助吗@Carsten?这是另一件我不明白的事。当您像我所说的那样自动REST一个表,然后在其上构建一个web源模块时,无论是在模块上还是在操作级别上,您都不会看到URL模式的参数,尽管URL模式字段的帮助说明您必须这样做。因此,表单节点下没有参数节点。那么它是如何得到它的值的呢?自动REST表的URL模式是主键列的占位符。由于“更新行”或“删除行”操作在没有主键的情况下无法工作,APEX从表单的主项(或交互式网格的主键列)获取此参数的值。在这种情况下,APEX“知道”从何处获取值,因此没有exp