1. HttpURLConnection
URL url = new URL("http://example.com/api");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type", "application/json");
connection.setDoOutput(true);
String requestBody = "{\"key\": \"value\"}";
OutputStream outputStream = connection.getOutputStream();
outputStream.write(requestBody.getBytes());
outputStream.flush();
outputStream.close();
int responseCode = connection.getResponseCode();
InputStream inputStream = connection.getInputStream();
connection.disconnect();
2. HttpClient
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost("http://example.com/api");
httpPost.setHeader("Content-Type", "application/json");
StringEntity requestEntity = new StringEntity("{\"key\": \"value\"}", ContentType.APPLICATION_JSON);
httpPost.setEntity(requestEntity);
CloseableHttpResponse response = httpClient.execute(httpPost);
int responseCode = response.getStatusLine().getStatusCode();
HttpEntity responseEntity = response.getEntity();
httpClient.close();
response.close();
3. OkHttp
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody requestBody = RequestBody.create(mediaType, "{\"key\": \"value\"}");
Request request = new Request.Builder()
.url("http://example.com/api")
.post(requestBody)
.addHeader("Content-Type", "application/json")
.build();
Response response = client.newCall(request).execute();
int responseCode = response.code();
ResponseBody responseBody = response.body();
response.close();