자바 통합
SMSBAT API를 Java 애플리케이션에 통합하는 것은 Java의 내장 HttpClient(Java 11+) 또는 널리 사용되는 OkHttp 라이브러리를 사용하여 간단합니다.
Java 11+ HttpClient 사용(네이티브)
Java 11 이상을 사용하는 경우 외부 종속성 없이 내장된 java.net.http.HttpClient를 사용할 수 있습니다.
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.time.Duration;
public class SMSBATExample {
public static void main(String[] args) {
String apiKey = "YOUR_API_KEY_HERE";
// A simple JSON payload. For production, consider using Jackson or Gson to build JSON.
String jsonPayload = "{\n" +
" \"messages\": [\n" +
" {\n" +
" \"from\": \"ALPHANAME\",\n" +
" \"to\": \"380501234567\",\n" +
" \"text\": \"Hello from Java 11 HttpClient!\",\n" +
" \"type\": \"sms\"\n" +
" }\n" +
" ]\n" +
"}";
HttpClient client = HttpClient.newBuilder()
.connectTimeout(Duration.ofSeconds(10))
.build();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.smsbat.com/bat/messagelist"))
.header("Content-Type", "application/json")
.header("X-Authorization-Key", apiKey)
.POST(HttpRequest.BodyPublishers.ofString(jsonPayload))
.build();
try {
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println("Status Code: " + response.statusCode());
System.out.println("Response Body: " + response.body());
} catch (Exception e) {
e.printStackTrace();
}
}
}
OkHttp 사용하기
OkHttp는 Java 및 Android를 위한 탁월한 HTTP 클라이언트입니다.
pom.xml에 종속성을 추가합니다.
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.12.0</version>
</dependency>
import okhttp3.*;
import java.io.IOException;
public class OkHttpExample {
public static void main(String[] args) {
OkHttpClient client = new OkHttpClient();
String apiKey = "YOUR_API_KEY_HERE";
String jsonPayload = "{\n" +
" \"messages\": [\n" +
" {\n" +
" \"from\": \"ALPHANAME\",\n" +
" \"to\": \"380501234567\",\n" +
" \"text\": \"Hello from Java OkHttp!\",\n" +
" \"type\": \"sms\"\n" +
" }\n" +
" ]\n" +
"}";
RequestBody body = RequestBody.create(
jsonPayload,
MediaType.get("application/json; charset=utf-8")
);
Request request = new Request.Builder()
.url("https://api.smsbat.com/bat/messagelist")
.header("X-Authorization-Key", apiKey)
.post(body)
.build();
try (Response response = client.newCall(request).execute()) {
System.out.println("Status Code: " + response.code());
if (response.body() != null) {
System.out.println("Response Body: " + response.body().string());
}
} catch (IOException e) {
e.printStackTrace();
}
}
}