99.6. API 参数(1 API)
Olingo4 端点是一个基于 API 的组件,它根据使用 API 名称和 API 方法具有额外的参数。API 名称和 API 方法位于端点 URI 中,作为 apiName/methodName 路径参数:
olingo4:apiName/methodName
下表列出 1 API 名称:
| API 名称 | 类型 | 描述 |
|---|---|---|
| 两者都 | Olingo4 Client Api Interface |
每个 API 记录在以下部分中。
99.6.1. API: DEFAULT 复制链接链接已复制到粘贴板!
支持生成者和消费者
DEFAULT API 在语法中定义,如下所示:
olingo4:DEFAULT/methodName?[parameters]
下表中列出了 9 种方法,后跟每种方法的详细语法。(API 方法可以有一个简写 别名名称,可用于语法而不是名称)
| 方法 | Alias | 描述 |
|---|---|---|
| 调用 OData 操作 | ||
| 执行批处理请求 | ||
| 创建新的 OData 资源 | ||
| 删除 OData 资源,并使用机构调用回调 | ||
| 使用 HTTP MERGE 补丁/发布 OData 资源 | ||
| 使用 HTTP PATCH 的补丁/发布 OData 资源 | ||
| 读取 OData 资源,并使用适当的结果调用回调 | ||
| 更新 OData 资源 | ||
| 读取 OData 资源,并使用未解析的输入流调用回调 |
99.6.1.1. 方法操作 复制链接链接已复制到粘贴板!
signatures:
- void action (org.apache.olingo.commons.api.edm.Edm edm, String resourcePath, java.util.Map<String, String> endpointHttpHeaders, Object data, org.apache.camel.component.olingo4.api.Olingo4ResponseHandler responseHandler);
olingo4/action API 方法在下表中列出的参数:
| 参数 | 描述 | 类型 |
|---|---|---|
| data | 操作数据 | 对象 |
| eDM | Service Edm | eDM |
| endpointHttpHeaders | 用于添加/覆盖组件版本的 HTTP 标头 | Map |
| resourcePath | 操作的资源路径 | 字符串 |
| responseHandler | org.apache.olingo.client.api.domain.ClientEntity 回调处理程序 | Olingo4ResponseHandler |
99.6.1.2. 方法批处理 复制链接链接已复制到粘贴板!
signatures:
- void batch (org.apache.olingo.commons.api.edm.Edm edm, java.util.Map<String, String> endpointHttpHeaders, Object data, org.apache.camel.component.olingo4.api.Olingo4ResponseHandler<java.util.List<org.apache.camel.component.olingo4.api.batch.Olingo4BatchResponse>Handler;
olingo4/batch API 方法在下表中列出的参数:
| 参数 | 描述 | 类型 |
|---|---|---|
| data | 排序 org.apache.camel.component.olingo4.api.batch.Olingo4BatchRequest 列表 | 对象 |
| eDM | Service Edm | eDM |
| endpointHttpHeaders | 用于添加/覆盖组件版本的 HTTP 标头 | Map |
| responseHandler | 回调处理器 | Olingo4ResponseHandler |
99.6.1.3. 方法创建 复制链接链接已复制到粘贴板!
signatures:
- void create (org.apache.olingo.commons.api.edm.Edm edm, String resourcePath, java.util.Map<String, String> endpointHttpHeaders, Object data, org.apache.camel.component.olingo4.api.Olingo4ResponseHandler responseHandler);
olingo4/create API 方法在下表中列出的参数:
| 参数 | 描述 | 类型 |
|---|---|---|
| data | 请求数据 | 对象 |
| eDM | Service Edm | eDM |
| endpointHttpHeaders | 用于添加/覆盖组件版本的 HTTP 标头 | Map |
| resourcePath | 要创建的资源路径 | 字符串 |
| responseHandler | 回调处理器 | Olingo4ResponseHandler |
99.6.1.4. 方法删除 复制链接链接已复制到粘贴板!
signatures:
- void delete (String resourcePath, java.util.Map<String, String> endpointHttpHeaders, org.apache.camel.component.olingo4.api.Olingo4ResponseHandler<org.apache.olingo.commons.api.http.HttpStatusCode> responseHandler);
olingo4/delete API 方法在下表中列出的参数:
| 参数 | 描述 | 类型 |
|---|---|---|
| endpointHttpHeaders | 用于添加/覆盖组件版本的 HTTP 标头 | Map |
| resourcePath | 条目的资源路径 | 字符串 |
| responseHandler | org.apache.olingo.commons.api.http.HttpStatusCode 回调处理程序 | Olingo4ResponseHandler |
99.6.1.5. 方法合并 复制链接链接已复制到粘贴板!
signatures:
- void merge (org.apache.olingo.commons.api.edm.Edm edm, String resourcePath, java.util.Map<String, String> endpointHttpHeaders, Object data, org.apache.camel.component.olingo4.api.Olingo4ResponseHandler responseHandler);
olingo4/merge API 方法在下表中列出的参数:
| 参数 | 描述 | 类型 |
|---|---|---|
| data | patch/merge 数据 | 对象 |
| eDM | Service Edm | eDM |
| endpointHttpHeaders | 用于添加/覆盖组件版本的 HTTP 标头 | Map |
| resourcePath | 更新的资源路径 | 字符串 |
| responseHandler | org.apache.olingo.client.api.domain.ClientEntity 回调处理程序 | Olingo4ResponseHandler |
99.6.1.6. 方法补丁 复制链接链接已复制到粘贴板!
signatures:
- void patch (org.apache.olingo.commons.api.edm.Edm edm, String resourcePath, java.util.Map<String, String> endpointHttpHeaders, Object data, org.apache.camel.component.olingo4.api.Olingo4ResponseHandler responseHandler);
olingo4/patch API 方法在下表中列出的参数:
| 参数 | 描述 | 类型 |
|---|---|---|
| data | patch/merge 数据 | 对象 |
| eDM | Service Edm | eDM |
| endpointHttpHeaders | 用于添加/覆盖组件版本的 HTTP 标头 | Map |
| resourcePath | 更新的资源路径 | 字符串 |
| responseHandler | org.apache.olingo.client.api.domain.ClientEntity 回调处理程序 | Olingo4ResponseHandler |
99.6.1.7. 方法读取 复制链接链接已复制到粘贴板!
signatures:
- void read (org.apache.olingo.commons.api.edm.Edm edm, String resourcePath, java.util.Map<String, String> queryParams, java.util.Map<String, String> endpointHttpHeaders, org.apache.camel.component.olingo4.api.Olingo4.api.Olingo4ResponseHandler responseHandler);
olingo4/read API 方法在下表中列出的参数:
| 参数 | 描述 | 类型 |
|---|---|---|
| eDM | 服务 Edm,从调用 read (null, $metdata, null, responseHandler)读取 | eDM |
| endpointHttpHeaders | 用于添加/覆盖组件版本的 HTTP 标头 | Map |
| queryParams | OData 查询参数 http://docs.oasis-open.org/odata/odata/v4.0/odata-v4.0-part1-protocol.html#_Toc453752288 | Map |
| resourcePath | OData 资源路径 | 字符串 |
| responseHandler | 回调处理器 | Olingo4ResponseHandler |
99.6.1.8. 方法更新 复制链接链接已复制到粘贴板!
signatures:
- void update (org.apache.olingo.commons.api.edm.Edm edm, String resourcePath, java.util.Map<String, String> endpointHttpHeaders, Object data, org.apache.camel.component.olingo4.api.Olingo4ResponseHandler responseHandler);
olingo4/update API 方法在下表中列出的参数:
| 参数 | 描述 | 类型 |
|---|---|---|
| data | 更新的数据 | 对象 |
| eDM | Service Edm | eDM |
| endpointHttpHeaders | 用于添加/覆盖组件版本的 HTTP 标头 | Map |
| resourcePath | 更新的资源路径 | 字符串 |
| responseHandler | org.apache.olingo.client.api.domain.ClientEntity 回调处理程序 | Olingo4ResponseHandler |
99.6.1.9. 方法 uread 复制链接链接已复制到粘贴板!
signatures:
- void uread (org.apache.olingo.commons.api.edm.Edm edm, String resourcePath, java.util.Map<String, String> queryParams, java.util.Map<String, String> endpointHttpHeaders, org.apache.camel.component.olingo4.api.Olingo4ResponseHandler<java.io.InputStream> responseHandler);
olingo4/uread API 方法在下表中列出的参数:
| 参数 | 描述 | 类型 |
|---|---|---|
| eDM | 服务 Edm,从调用 read (null, $metdata, null, responseHandler)读取 | eDM |
| endpointHttpHeaders | 用于添加/覆盖组件版本的 HTTP 标头 | Map |
| queryParams | OData 查询参数 http://docs.oasis-open.org/odata/odata/v4.0/odata-v4.0-part1-protocol.html#_Toc453752288 | Map |
| resourcePath | OData 资源路径 | 字符串 |
| responseHandler | 回调处理器 | Olingo4ResponseHandler |
除了上述参数外,olingo4 API 还可以使用上面列出的任何 Query 参数。
任何参数可以在端点 URI 中提供,也可以在消息标头中动态提供。消息标头名称必须是 CamelOlingo4.parameter 的格式。inBody 参数覆盖消息标头,即 endpoint 参数 inBody=myParameterNameHere 覆盖 CamelOlingo4.myParameterNameHere 标头。