第357章 Wordpress コンポーネント
Camel バージョン 2.21 以降で利用可能
Wordpress API の Camel コンポーネント。
現在、投稿 と ユーザーの 操作のみがサポートされています。
357.1. オプション
Wordpress コンポーネントは、以下に示す 2 個のオプションをサポートしています。
名前 | 説明 | デフォルト | タイプ |
---|---|---|---|
configuration (advanced) | Wordpress コンポーネントの設定 | Wordpress コンポーネントの設定 | |
resolveProperty Placeholders (advanced) | 起動時にコンポーネントがプロパティープレースホルダーを解決するかどうか。String タイプのプロパティーのみがプロパティープレースホルダーを使用できます。 | true | boolean |
Wordpress エンドポイントは、URI 構文を使用して設定されます。
wordpress:operationDetail
パスおよびクエリーパラメーターを使用します。
357.1.1. パスパラメーター (2 個のパラメーター):
名前 | 説明 | デフォルト | タイプ |
---|---|---|---|
operation | 必須 エンドポイント操作。 | String | |
操作詳細 | エンドポイント操作の 2 番目の部分。wordpress:post:delete のように、エンドポイントのセマンティックが十分でない場合にのみ必要です。 | String |
357.1.2. クエリーパラメーター (11 パラメーター)
名前 | 説明 | デフォルト | タイプ |
---|---|---|---|
apiVersion (Common) | Wordpress REST API のバージョン | 2 | String |
criteria (Common) | 複雑な検索で使用する基準。 | Map | |
force (Common) | ゴミ箱をバイパスして強制的に削除するかどうか。 | false | Boolean |
id (Common) | エンティティー ID | Integer | |
password (common) | 許可されたユーザーからのパスワード | String | |
url (common) | 必須 サイトの Wordpress API URL (例: http://myblog.com/wp-json/) | String | |
user (Common) | 書き込み操作を実行する許可ユーザー | String | |
bridgeErrorHandler (consumer) | コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | false | boolean |
exceptionHandler (consumer) | コンシューマーによるカスタム ExceptionHandler の使用を許可します。bridgeErrorHandler オプションが有効な場合は、このオプションは使用されないことに注意してください。デフォルトでは、コンシューマーは例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | ExceptionHandler | |
exchangePattern (consumer) | コンシューマーがエクスチェンジを作成する際に交換パターンを設定します。 | ExchangePattern | |
synchronous (advanced) | 同期処理を厳密に使用するか、Camel が非同期処理を使用できるかどうかを設定します (サポートされている場合)。 | false | boolean |
読み取り操作を実行するときに必要なパラメーターのほとんどは、公式 API から反映されています。検索操作を実行するときの criteria.
接尾辞が必要です。次の Consumer
を例に取ります。
wordpress:post?criteria.perPage=10&criteria.orderBy=author&criteria.categories=camel,dozer,json
357.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"); }
357.1.4. コンシューマーの例
コンシューマーは、Wordpress のドメインオブジェクトを時々 API からポーリングします。以下は、Post
操作を使用した例です。
-
wordpress:post
は投稿を取得します (デフォルトは 10 件の投稿) -
wordpress:post?id=1
特定の投稿を検索
357.1.5. プロデューサーの例
プロデューサーは、新しいユーザーの追加や投稿の更新など、Wordpress で書き込み操作を実行します。書き込みを行うには、承認されたユーザー認証情報が必要です (認証を参照)。
-
wordpress:post
は、メッセージ本文のorg.apache.camel.component.wordpress.api.model.Post
クラスから新しい投稿を作成します。 -
wordpress:post?id=1
は、メッセージ本文のデータorg.apache.camel.component.wordpress.api.model.Post
に基づいて投稿を更新します。 -
wordpress:post:delete?id=1
は、特定の投稿を削除する