第 366 章 wordpress 组件
可作为 Camel 版本 2.21 可用
Wordpress API 的 Camel 组件.
目前只支持 Posts 和 Users 操作。
366.1. 选项
Wordpress 组件支持下面列出的 2 个选项。
名称 | 描述 | 默认 | 类型 |
---|---|---|---|
配置 (高级) | wordpress 组件配置 | WordpressComponent Configuration | |
resolveProperty Placeholders (advanced) | 启动时,组件是否应自行解析属性占位符。只有 String 类型的属性才能使用属性占位符。 | true | 布尔值 |
Wordpress 端点使用 URI 语法配置:
wordpress:operationDetail
使用以下路径和查询参数:
366.1.1. 路径名(2 参数):
名称 | 描述 | 默认 | 类型 |
---|---|---|---|
operation | 所需的 端点操作。 | 字符串 | |
operationDetail | 端点操作的第二部分。仅在端点语义不够时才需要,如 wordpress:post:delete | 字符串 |
366.1.2. 查询参数(11 参数):
名称 | 描述 | 默认 | 类型 |
---|---|---|---|
apiVersion (common) | Wordpress REST API 版本 | 2 | 字符串 |
criteria (common) | 用于复杂搜索的条件。 | map | |
force (common) | 是否绕过垃圾箱并强制删除。 | false | 布尔值 |
id (common) | 实体 ID | 整数 | |
password (common) | 来自授权用户的密码 | 字符串 | |
url (common) | 从您的站点 需要 Wordpress API URL,例如 http://myblog.com/wp-json/ | 字符串 | |
user (common) | 授权用户执行写入操作 | 字符串 | |
bridgeErrorHandler (consumer) | 允许将消费者桥接到 Camel 路由 Error Handler,这意味着使用者试图获取传入消息或类似信息时出现任何异常,现在将作为一个消息进行处理,并由路由 Error Handler 处理。默认情况下,使用者将使用 org.apache.camel.spi.Exception 处理程序处理异常,该处理程序将记录在 WARN 或 ERROR 级别,并忽略。 | false | 布尔值 |
exceptionHandler (consumer) | 要让使用者使用自定义 ExceptionHandler。请注意,如果启用了选项 bridgeErrorHandler,则不使用这个选项。默认情况下,消费者处理异常,这将在 WARN 或 ERROR 级别记录,并忽略。 | ExceptionHandler | |
exchangePattern (consumer) | 在使用者创建交换时设置交换模式。 | ExchangePattern | |
同步 (高级) | 设置同步处理是否应当严格使用,还是允许 Camel 使用异步处理(如果受支持)。 | false | 布尔值 |
从官方 API 执行读取操作镜像时,需要的大部分参数。执行搜索操作时,需要 条件。
后缀。将以下 消费者
视为示例:
wordpress:post?criteria.perPage=10&criteria.orderBy=author&criteria.categories=camel,dozer,json
366.1.3. 配置 Wordpress 组件
WordpressConfiguration
类可用于将初始属性配置设置为组件,而不是将其作为查询参数传递。以下列表演示了如何设置要在路由中使用的组件。
public void configure() { final WordpressConfiguration configuration = new WordpressConfiguration(); final WordpressComponentConfiguration component = new WordpressComponentConfiguration(); configuration.setApiVersion("2"); configuration.setUrl("http://yoursite.com/wp-json/"); component.setConfiguration(configuration); getContext().addComponent("wordpress", component); from("wordpress:post?id=1") .to("mock:result"); }
366.1.4. 消费者示例
消费者从 API 定期轮询 Wordpress 中域对象的时间。以下示例使用 Post
操作示例:
-
wordpress:post
检索 posts (默认为 10 个后) -
wordpress:post?id=1
搜索特定的后
366.1.5. producer 示例
制作者在 Wordpress 上执行写入操作,如添加新用户或更新后。要进行写入,您必须具有授权的用户凭证(请参阅身份验证)。
-
wordpress:post
在消息正文中的org.apache.camel.component.wordpress.api.model.Post
类中创建一个新的 post。 -
wordpress:post?id=1
根据数据org.apache.camel.component.wordpress.api.model.Post
from the message body.Post 来更新 post。 -
wordpress:post:delete?id=1
deletes a specific post