クライアントアプリケーションの作成
クライアントアプリケーションの作成
Ktor にはマルチプラットフォーム対応の非同期 HTTP クライアントが含まれており、これを使用することで
このチュートリアルでは、リクエストを送信してレスポンスを出力する、最初の Ktor クライアントアプリケーションの作成方法を説明します。
前提条件
このチュートリアルを始める前に、IntelliJ IDEA Community または Ultimate をインストールしてください。
新規プロジェクトの作成
既存のプロジェクトに手動で Ktor クライアントを
新しい Kotlin プロジェクトを作成するには、IntelliJ IDEA を開き、以下の手順に従います。
ウェルカム画面で New Project をクリックします。
または、メインメニューから File | New | Project を選択します。
New Project ウィザードで、左側のリストから Kotlin を選択します。
右側のペインで、以下の設定を指定します。

Name: プロジェクト名を指定します。
Location: プロジェクトのディレクトリを指定します。
Build system: Gradle が選択されていることを確認します。
Gradle DSL: Kotlin を選択します。
Add sample code: 生成されるプロジェクトにサンプルコードを含めるために、このオプションを選択します。
Create をクリックし、IntelliJ IDEA がプロジェクトを生成して依存関係をインストールするまで待ちます。
依存関係の追加
Ktor クライアントに必要な依存関係を追加しましょう。
gradle.properties ファイルを開き、Ktor のバージョンを指定するために次の行を追加します。
kotlinNOTE
Ktor の EAP バージョンを使用するには、Space リポジトリを追加する必要があります。
build.gradle.kts ファイルを開き、dependencies ブロックに次のアーティファクトを追加します。
kotlinktor-client-coreは、メインのクライアント機能を提供するコア依存関係です。ktor-client-cioは、ネットワークリクエストを処理するエンジンのための依存関係です。ネットワークリクエストを処理するエンジンについて学びます。
build.gradle.kts ファイルの右上隅にある Load Gradle Changes アイコンをクリックして、新しく追加された依存関係をインストールします。

クライアントの作成
クライアントの実装を追加するには、src/main/kotlin に移動し、以下の手順に従います。
Main.kt ファイルを開き、既存のコードを次の実装に置き換えます。
kotlinKtor では、クライアントは HttpClient クラスによって表されます。
HttpClient.get()メソッドを使用してGET リクエストを送信します。リクエストの作成方法と、リクエスト URL、HTTP メソッド、ヘッダー、リクエスト本文などのさまざまなリクエストパラメータの指定方法について学びます。レスポンスはレスポンスの受信、レスポンス本文の取得、レスポンスパラメータの取得方法について学びます。HttpResponseクラスのオブジェクトとして受け取ります。kotlin上記のコードを追加すると、IDE は
get()関数に対して次のエラーを表示します。 Suspend function 'get' should be called only from a coroutine or another suspend function (Suspend 関数 'get' は、コルーチンまたは別の suspend 関数からのみ呼び出す必要があります)。
これを修正するには、
main()関数をsuspendにする必要があります。IntelliJ IDEA で、定義の横にある赤い電球をクリックし、Make main suspend を選択します。

println()関数を使用してサーバーから返された ステータスコード を出力し、close()関数を使用してストリームを閉じ、関連するリソースを解放します。 Main.kt ファイルは次のようになります。kotlin
アプリケーションの実行
アプリケーションを実行するには、Main.kt ファイルに移動し、以下の手順に従います。
IntelliJ IDEA で、
main()関数の横にあるガターアイコンをクリックし、Run 'MainKt' を選択します。
- IntelliJ IDEA がアプリケーションを実行するまで待ちます。
IDE の下部にある Run ペインに出力が表示されます。

サーバーは
200 OKメッセージを返しますが、SLF4J がStaticLoggerBinderクラスを見つけられず、デフォルトで NOP(何もしない)ロガー実装が使用されることを示すエラーメッセージも表示されます。これは事実上、ロギングが無効であることを意味します。これで、動作するクライアントアプリケーションが作成されました。ただし、この警告を修正し、ロギングを使用して HTTP 呼び出しをデバッグできるようにするには、追加の手順が必要です。
ロギングの有効化
Ktor は JVM 上のロギングに SLF4J 抽象化レイヤーを使用しているため、ロギングを有効にするには Logback などの ロギングフレームワークを提供 する必要があります。
gradle.properties ファイルで、ロギングフレームワークのバージョンを指定します。
kotlinbuild.gradle.kts ファイルを開き、dependencies ブロックに次のアーティファクトを追加します。
kotlin- Load Gradle Changes アイコンをクリックして、新しく追加された依存関係をインストールします。
IntelliJ IDEA で、再実行ボタン (
) をクリックしてアプリケーションを再起動します。
エラーが表示されなくなり、IDE 下部の Run ペインに同じ
200 OKメッセージが表示されるはずです。
これでロギングが有効になりました。ログの表示を開始するには、ロギング構成を追加する必要があります。
src/main/resources に移動し、以下の実装を持つ新しい logback.xml ファイルを作成します。
xmlIntelliJ IDEA で、再実行ボタン (
) をクリックしてアプリケーションを再起動します。
Run ペイン内の出力されたレスポンスの上に、トレースログが表示されるはずです。

TIP
Ktor は、