创建 RESTful Web Services
使用“模块”、“模板”和“处理程序”页创建 RESTful Web 服务。
要创建 RESTful Web 服务,您需要:
-
定义资源模块
-
定义资源模板
-
定义一个或多个资源处理程序,例如 GET、PUT、POST 或 DELETE。(可选)定义需要传递给资源处理程序的参数。
以下各节提供了有关如何创建资源模块、资源模板和资源处理程序的信息。
- 管理资源模块
您可以在“模块”页中定义、编辑和删除资源模块。 - 管理资源模板
您可以在“模板”页中为模块定义、编辑和删除资源模板。 - 管理资源处理程序
您可以在“处理程序”页中为模板创建、编辑和删除资源处理程序。 - 示例:使用 POST 处理程序插入记录
以下示例说明如何在 DEPT 表中插入记录。
另请参阅:
-
《 Oracle REST Data Services Quick Start Guide 》中的 Creating a RESTful Service
父主题:REST 页
管理资源模块
您可以在“模块”页中定义、编辑和删除资源模块。
要导航到“模块”页,请在“REST 概览”页中单击“对象”中的模块,或者从标题中的菜单中,选择模块。
下图显示了默认情况下在卡视图中显示的模块属性。
模块状态可以发布或取消发布。如果状态为未发布,则图标将以红色显示。
单击卡视图中的模块名称可转到该模块的 "Templates" 页面。您还可以通过上下文菜单导航到“模板”页。
上下文菜单中可用的操作包括:
-
导航到模块的 "Templates" 页面
- 创建资源模块
本节介绍如何创建资源模块。 - 导入资源模块
- 编辑资源模块
本节介绍如何编辑资源模块。 - 删除资源模块
本节介绍如何删除资源模块。 - 发布/取消发布资源模块
本节介绍如何使资源模块可用。 - 导出资源模块
您可以导出资源模块或 RESTful 服务的 API 或 Open API (Swagger) JSON 代码的 PL/SQL 源代码。如果模块具有模板、处理程序、参数、角色等,则还会显示并导出这些对象。 - 在 OpenAPI 视图中查看模块
本节介绍如何在 Open API 视图中打开模块。
另请参阅:
关于 REST 搜索工具栏导出资源模块
您可以导出资源模块或 RESTful 服务的 API 或 Open API (Swagger) JSON 代码的 PL/SQL 源代码。如果模块具有模板、处理程序、参数、角色等,则还会显示并导出这些对象。
父主题:管理资源模块
管理资源模板
您可以在“模板”页面中定义、编辑和删除模块的资源模板。
要导航到此页,请在“模块”页中单击模块的
,然后选择模板,或者在卡视图中单击模块的名称。
在页面顶部,模块卡提供上下文菜单选项,例如“编辑”、“删除”、“发布”和“导出”。
下图显示了默认情况下在卡视图中显示的模板属性。
单击卡视图中的模板名称以转至“处理程序”页。您还可以通过上下文菜单导航到“处理器”页。
上下文菜单中可用的操作包括:
管理资源处理程序
您可以在“处理程序”页中为模板创建、编辑和删除资源处理程序。
要导航到此页,请在“模板”页中,单击模板的
,然后选择处理程序,或者在卡视图中单击模板的名称。
在页面顶部,模板卡提供上下文菜单选项,例如“编辑”和“删除”。
下图显示了默认情况下在卡视图中显示的处理程序属性。
HTTP 方法可以是以下方法之一:GET、PUT、POST 和 DELETE。
您可以使用上下文菜单导航到“HTTP 方法”页。HTTP 方法页中显示了三个选项卡:“Source(源)”、“Parameters(参数)”和“Pre-Authenticated Requests(预先验证的请求)”。
注意:
如果模板创建了所有四个处理程序(GET、POST、PUT、DELETE),则此选项不可用。上下文菜单中可用的操作包括:
-
编辑:请参阅编辑资源处理程序
-
删除:请参阅删除资源处理程序
-
详细信息:请参阅查看资源处理程序详细信息和管理参数
-
预先验证身份的请求:请参见预先验证身份的请求
- 创建资源处理程序
本节介绍如何创建资源处理程序。 - 编辑资源处理程序
本节介绍如何编辑资源处理程序。 - 删除资源处理程序
本节介绍如何删除资源处理程序。 - 查看资源处理程序详细信息和管理参数
您可以在 HTTP 方法页中查看资源处理程序详细信息并管理参数。 - 使用预先验证的请求访问 ORDS RESTful 服务
要访问受保护的 RESTful 服务,可以创建和撤销预先验证的请求。
查看资源处理程序详细信息和管理参数
您可以在 HTTP 方法页中查看资源处理程序详细信息并管理参数。
要导航到此页,对于特定处理程序,请单击
,然后选择详细信息,或者在卡视图中单击处理程序的名称。
在页面顶部,可使用带有上下文菜单选项(例如“编辑”和“删除”)的处理程序卡。
处理程序 HTTP 方法页包含两个主要部分:
-
用于执行在资源处理程序中定义的 SQL 或 PL/SQL 源代码的代码编辑器。您可以执行代码、保存、撤消、重做、下载和清除输出。有关编辑器的更多信息,请参见 Executing SQL Statements in the Code Editor 。
REST 服务处理程序中使用的隐式参数显示在编辑器右侧的滚动列表中。请参阅隐式参数
-
用于管理运行 HTTP 方法所需的参数的部分。
默认情况下,参数显示在网格视图中。下图显示了卡视图中参数上显示的属性。
上下文菜单中可用的操作包括:
- 创建参数
本节介绍如何为资源处理程序创建参数。 - 编辑参数
本节介绍如何编辑参数。 - 删除参数
本节介绍如何删除参数。 - 隐式参数
本节介绍“资源处理程序详细信息”页中的隐式参数。这些参数会自动添加到资源处理程序中。
另请参阅:
关于 REST 搜索工具栏父主题:管理资源处理程序
隐式参数
本节介绍“资源处理程序详细信息”页中的隐式参数。这些参数会自动添加到资源处理程序中。
表 4-1 隐式参数
| 名称 | 类型 | 访问模式 | HTTP 标头 | 说明 |
|---|---|---|---|---|
|
|
BLOB |
IN |
不适用 |
将请求的正文指定为临时 BLOB。 |
|
|
CLOB |
IN |
不适用 |
将请求的正文指定为临时 CLOB。 |
|
|
VARCHAR |
IN |
|
指定请求正文的 MIME 类型,如 Content-Type 请求标头所示。 |
|
|
VARCHAR |
IN |
不适用 |
指定请求的已验证用户。如果未对任何用户进行验证,则该值设置为 null。 |
|
|
VARCHAR |
OUT |
|
指定 Oracle REST Data Services 必须转发 GET 请求以生成此请求的响应的位置。 |
|
|
NUMBER |
IN |
不适用 |
指定要在页面上显示的第一行的基于零的偏移量。 |
|
|
NUMBER |
IN |
不适用 |
指定页面上要检索的最大行数。 |
|
|
NUMBER |
IN |
不适用 |
指定分页请求中基于零的页偏移量。 注: |
|
|
NUMBER |
IN |
不适用 |
指定页面上要检索的最大行数。
|
|
|
NUMBER |
IN |
不适用 |
指定要在分页请求中显示的第一行的基于一的索引。 |
|
|
NUMBER |
IN |
不适用 |
指定要在分页请求中显示的最后一行的基于一个的索引。 |
|
|
NUMBER |
OUT |
|
指定请求的 HTTP 状态代码。 |
有关隐式参数的更多信息,请参见Oracle REST Data Services Developer's Guide。
使用预先验证身份的请求访问 ORDS RESTful 服务
要访问受保护的 RESTful 服务,可以创建和撤销预先验证身份的请求。
通过预先验证的请求,无需用户凭证即可访问受保护的 ORDS RESTful 服务。创建预先验证的请求时,将生成唯一的 URL。您可以向外部用户提供此 URL,以便使用标准 HTTP 工具与特定 RESTful 实体进行交互。
有关预验证请求的更多信息,请参见《Oracle REST Data Services Developer's Guide 》中的 Oracle REST Data Services Pre-Authenticated Requests 。
要导航到“预先验证的请求”页面,您可以执行以下操作之一:
-
从 "Overview"(概览)页面中,单击 Pre-Authenticated Requests 磁贴。
-
从菜单栏中,展开安全性,然后选择预先验证身份的请求。
主题:
创建预先验证的请求
要为现有处理程序创建预先验证的请求,请执行以下操作:
-
从现有处理程序的上下文菜单中,选择 Create New Pre-authenticated Request 。
此时将显示 "Create Pre-authenticated Request"(创建预先验证的请求)面板。
-
在 Token Expiration(令牌失效)字段中,输入令牌失效持续时间(秒)。
选择显示代码可查看用于创建预先验证的请求的基础源代码。
单击创建。
将显示用于访问资源的标记、别名和相对链接。必须跟踪标记和别名,因为以后无法获取其值。如果忘记了值,则可以撤消标记并再次创建新标记。
示例:使用 POST 处理程序插入记录
以下示例说明如何在 DEPT 表中插入记录。
先决条件
-
使用 SQL 页面中的工作表,创建一个 DEPT 表。
CREATE TABLE DEPT( DEPTNO number(2,0), DNAME varchar2(14), LOC varchar2(13), CONSTRAINT PK_DEPT PRIMARY KEY (DEPTNO) ) -
创建一个名为 example 的模块。请参见 Creating a Resource Module
-
为模块创建名为 emp/ 的模板。请参阅创建资源模板



