当サイトを最適な状態で閲覧していただくにはブラウザのJavaScriptを有効にしてご利用下さい。
JavaScriptを無効のままご覧いただいた場合には一部機能がご利用頂けない場合や正しい情報を取得できない場合がございます。
承知しました
本サイトではWebサイトのエクスペリエンスを向上させるために、Cookieを使用しています。Cookieはブラウザの設定から無効にできます。本サイトで使用するCookieについては、プライバシーポリシーをご確認ください。

Blog

ブログ

開発者向け

Kentico Cloud Delivery JavaSDKの紹介

By Jan Lenoch  

Kentico Cloudには、本格的なJavaSDKが搭載されています。機能面では、最初から.NETや他のSDKと同等です。そのコア機能とその使用方法を見てみましょう。

Javaは素晴らしいエコシステムです。 Microsoftの世界での兄弟テクノロジである.NETとともに、最も複雑なエンタープライズレベルのアプリケーション向けの確立されたプラットフォームになりました。オープンソースの偉大な貢献者であるTrustedChoiceのAdamJ。Weigoldが、コードジェネレーターとともにDelivery JavaSDKを作成したことをお知らせします。

フィーチャーコンプリートSDK

はい、すぐにSDKは.NETSDKが持つすべての機能を備えています。強く型付けされたコンテンツ、実行時型のコンテンツ、さらには最新機能の1つである分類法などです。また、ゼロ日から、 DeveloperHubがJavaコード例で更新されました。

Java開発者は、KenticoCloudをすぐに使い始めることができます。

それを使用する方法

Java開発環境がすでにセットアップされていると仮定すると、必要な手順は1つだけです。それは、Kentico Cloud Delivery Java SDKMavenエントリへの依存関係を確立することです。

  com.kenticocloud delivery-sdk-java 1.0.4


これを行うには、Gradleビルドシステムの構成ファイルを編集するか、Mavenプロジェクトオブジェクトモデル(POM)を使用します。これは、Gradle設定で必要な変更です。

 repositories { mavenCentral()}dependencies { compile('com.kenticocloud:delivery-sdk-java:1.0.4')}


コードジェネレーター

依存関係を設定したら、将来のJavaアプリケーションを指すKenticoCloudプロジェクトがすでにある可能性があります。この場合は、別のツールであるコードジェネレーターを使用する必要があります。他のSDKと同様に、ジェネレーターはKenticoCloudコンテンツタイプの強く型付けされたJavaモデルクラスを生成します。

これを使用する最も簡単な方法は、Gradleビルドプラグインを使用することです。

 plugins { id 'com.kenticocloud.generator' version '1.1'}


構成では、使用するプロジェクトID、パッケージ名、および出力フォルダーを特定する必要があります。

 apply plugin: 'java'kenticoModel { projectId = '975bf280-fd91-488c-994c-2f04416e5ee3' packageName = 'com.dancinggoat.models' outputDir = file('generated-sources')}dependencies { compile('com.kenticocloud:delivery-sdk-java:1.0.3')}


次に、タスクを呼び出すだけです。

 ./gradlew generateModels


Kenticoクラウドコンテンツの取得

DeliveryClientクラスのインスタンスを作成すると、Kentico Cloudコンテンツアイテム、コンテンツモデル、およびその他のアーティファクトのクエリとフィルタリングを開始できます。

 DeliveryClient client = new DeliveryClient('975bf280-fd91-488c-994c-2f04416e5ee3');


クエリは、ビルダーデザインパターンを使用して作成されます。 DeliveryParameterBuilderクラスのさまざまなフィルタリングメソッドをチェーン化できます。完了したら、「build」メソッドへの呼び出しを追加して、「getItem(s)」メソッドのパラメーターとして使用される最終的な辞書を取得します。

 // Retrieves a list of the specified elements from the first 10 content items of// the 'brewer' content type, ordered by the 'product_name' element value,// in the Spanish language.ContentItemsListingResponse response = client.getItems( DeliveryParameterBuilder.params() .language('es-ES') .filterEquals('system.type', 'brewer') .projection('image', 'price', 'product_status', 'processing') .page(null, 10) .orderByAsc('elements.product_name') .build(););


強く型付けされたコンテンツアイテムを取得するには、生成されたモデルのタイプを「getItem」メソッドのパラメーターとして指定するだけです。

 ArticleItem item = client.getItem('on_roasts', ArticleItem.class);


事前にタイプを指定せずに強く型付けされたコンテンツアイテムを取得したい場合は、これがその方法です。

Object itemObj = client.getItem('on_roasts', Object.class);


前の例と同じように、「ArticleItem」クラスのインスタンスを取得します。 これは、.NETSDKの実行時の自動入力と同じように機能します。

含まれている最新のビット

Kentico Cloudは真のヘッドレスCMSであるため、すべてのプログラミング言語を「ファーストクラス」の言語として扱います。 Java SDKは、最新のAPI機能をサポートしているため、その優れた例です。

分類法を取得しますか?方法は次のとおりです。

 TaxonomyGroup taxonomyGroup = client.getTaxonomyGroup('personas');


アプリが常に最新のコンテンツを取得できるようにしたいですか? Kentico Cloud APIは、最新のコンテンツの取得を強制できるようになり、コンテンツが1秒前に更新された場合にCDNを回避します。 DeliveryOptionsクラスの「setWaitForLoadingNewContent」メソッドを介してこれを強制できます。

 DeliveryOptions deliveryOptions = new DeliveryOptions();deliveryOptions.setProjectId(projectId);deliveryOptions.setWaitForLoadingNewContent(true);DeliveryClient client = new DeliveryClient(deliveryOptions);


拡張性

他のSDKと同様に、次の独自の実装を導入できます。

  • リッチテキスト要素に表示される他のコンテンツアイテムへのリンクの解決
  • 壊れたリンクの処理
  • リッチテキスト要素内のモジュラーコンテンツアイテムの解決(レンダリング)

次のインターフェイスを実装することで、最初の2つのコードを提供できます。

3番目(リッチテキストのモジュラーコンテンツ)は、 InlineContentItemsResolver抽象クラスから継承することで実装できます。

詳細が欲しい!

Kentico Cloudを既に知っていて、Java SDKについて詳しく知りたい場合は、 SDKコードジェネレーターの両方のREADME.mdの説明から始めるのが最適です。次に、ウィキに飛び込んでさらに詳細を確認できます。コード例は、Developer Hubにあるか、テストメソッドとしてSDKのリポジトリにあります。

一方、Kentico Cloudに慣れていない場合は、最初にDeveloperHubのDeliveryAPIチュートリアルを使用することをお勧めします。そうすれば、基本的な概念をすばやく学ぶことができます。これらは、JavaSDKでのプレイを開始するのに十分すぎるほどです。

いつものように、あなたは私たちのフォーラムで質問をすることができます。

SDKの作成者に直接会いたい場合は、ボストンケンティコロードショーの席を予約してください。

ハッピーJavaコーディング!

Headless CMSの導入をお考えでしょうか?

クラウドとマルチデバイスに最適化されたKentico Kontentをお試しください