【gradle】APIクライアントリポジトリをJavaで作るよ!OkHttpを使ってみる
APIクライアントリポジトリをGradleとOkHttpで作成していきますよ
1. プロジェクトのセットアップ
まず、APIクライアント専用のGradleプロジェクトを作成します
gradle init --type java-library
2. build.gradleの設定
build.gradleに必要な依存関係を追加します。OkHttpを利用するために、以下の依存を含めます
plugins {
id 'java'
}
repositories {
mavenCentral()
}
dependencies {
implementation 'com.squareup.okhttp3:okhttp:4.9.3'
implementation 'com.fasterxml.jackson.core:jackson-databind:2.12.5' // JSONのパーサーとして使用
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1'
}
test {
useJUnitPlatform()
}
3. ライアントを使ったクラスの作成
次に、APIを呼び出すためのクラスを作成します。例えば、以下のように外部システムのAPIに対してGETリクエストを送信するクライアントクラスを作成できます
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import java.io.IOException;
public class ApiClient {
private final OkHttpClient client;
public ApiClient() {
this.client = new OkHttpClient();
}
public String get(String url) throws IOException {
Request request = new Request.Builder()
.url(url)
.header("Authorization", "Bearer " + token) // Authorizationヘッダーの設定
.header("Accept", "application/json") // 他のヘッダーの設定も可能
.build();
try (Response response = client.newCall(request).execute()) {
if (!response.isSuccessful()) {
throw new IOException("Unexpected code " + response);
}
return response.body().string();
}
}
}
4. プロジェクトでの利用
APIクライアントを利用するアプリケーションのGradle設定に、このクライアントリポジトリを依存関係として追加します。ローカルで利用する場合、以下のようにbuild.gradleに記述します
dependencies {
implementation project(':your-api-client')
}
外部公開する場合は、クライアントリポジトリをMaven Centralや内部のアーティファクトリに公開する必要があります
5. APIクライアントの利用
作成したクライアントを使って外部APIを呼び出す例
public class Main {
public static void main(String[] args) {
ApiClient apiClient = new ApiClient();
try {
String response = apiClient.get("https://api.example.com/data");
System.out.println(response);
} catch (IOException e) {
e.printStackTrace();
}
}
}
これで、OkHttpを使ったAPIクライアントリポジトリを作成し、他のアプリケーションから利用できるようになります
是非フォローしてください
最新の情報をお伝えします