Avatar
tiki.io.vn
📅 10/4/2026
← Quay lại Bảng tin

Xử lý HTTP POST với JSON trong Java: Hướng dẫn toàn diện

Kết quả tìm kiếm java http post json

Xử lý HTTP POST với JSON trong Java: Hướng dẫn toàn diện

Trong thế lập trình hiện đại, việc gửi và nhận dữ liệu JSON thông qua HTTP POST là một kỹ năng thiết yếu. Java cung cấp nhiều cách tiếp cận để thực hiện tác vụ này, mỗi phương pháp có ưu điểm riêng phù hợp với các yêu cầu khác nhau.

Sử dụng HttpURLConnection

HttpURLConnection là lớp cơ bản trong Java để thực hiện các yêu cầu HTTP. Để gửi JSON qua POST, chúng ta cần:

URL url = new URL("https://api.example.com/data");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json");
conn.setDoOutput(true);

String jsonInputString = "{\"name\":\"myname\",\"age\":\"20\"}";

try(OutputStream os = conn.getOutputStream()) {
    byte[] input = jsonInputString.getBytes("utf-8");
    os.write(input, 0, input.length);
}

HttpClient và Gson hiện đại

Với Java 11 trở đi, HttpClient trở thành API tiêu chuẩn:

HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.example.com/data"))
    .header("Content-Type", "application/json")
    .POST(HttpRequest.BodyPublishers.ofString("{\"name\":\"myname\",\"age\":\"20\"}"))
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

Kết hợp với Gson để xử lý JSON:

Gson gson = new Gson();
Map<String, String> data = new HashMap<>();
data.put("name", "myname");
data.put("age", "20");

String json = gson.toJson(data);

Xử lý bất đồng bộ

Java cũng hỗ trợ gửi yêu cầu POST bất đồng bộ:

HttpClient client = HttpClient.newBuilder()
    .version(HttpClient.Version.HTTP_2)
    .build();

HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.example.com/data"))
    .header("Content-Type", "application/json")
    .POST(HttpRequest.BodyPublishers.ofString("{\"name\":\"myname\",\"age\":\"20\"}"))
    .build();

client.sendAsync(request, HttpResponse.BodyHandlers.ofString())
    .thenApply(HttpResponse::body)
    .thenAccept(System.out::println)
    .join();

Xử lý lỗi và ngoại lệ

Luôn chuẩn bị xử lý các tình huống lỗi:

try {
    // Mã gửi POST request
} catch (MalformedURLException e) {
    System.err.println("URL không hợp lệ: " + e.getMessage());
} catch (IOException e) {
    System.err.println("Lỗi kết nối: " + e.getMessage());
} catch (InterruptedException e) {
    System.err.println("Yêu cầu bị gián đoạn: " + e.getMessage());
    Thread.currentThread().interrupt();
}

Kết luận

Việc gửi dữ liệu JSON qua HTTP POST trong Java có thể được thực hiện bằng nhiều cách khác nhau, từ sử dụng HttpURLConnection cơ bản đến HttpClient hiện đại. Việc lựa chọn phương pháp phù hợp phụ thuộc vào phiên bản Java và yêu cầu cụ thể của dự án.

Java #HTTPPOST #JSON #JavaProgramming #HttpClient #Gson #APIIntegration

Không đọc được JSON hợp lệ.

Xem đầy đủ Kết quả tìm kiếm video java http post json

Không đọc được JSON hợp lệ.

Xem đầy đủ Kết quả tìm kiếm hình ảnhjava http post json