Bismillaahirrohmaanirrohiim…
Berikut ini adalah cara menggunakan OkHTTP untuk mengirimkan post berupa json ke server, menggunakan android studio.
Pada artikel sebelumnya, telah kami paparkan cara mudah menggunakan OkHTTP, baik secara synchronous maupun asynchronous.
Dasar-dasar mengirimkan parameter key value ke server serta menambahkan header saat request. Klik disini jika belum membacanya.
Langsung saja, berikut ini adalah kode java cara mengirimkan JSON ke server dengan OkHTTP di android studio.
public String requestSync() { int SDK_INT = android.os.Build.VERSION.SDK_INT; if (SDK_INT > 8) { StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder() .permitAll().build(); StrictMode.setThreadPolicy(policy); } OkHttpClient.Builder builder = new OkHttpClient.Builder(); builder.connectTimeout(5, TimeUnit.SECONDS); builder.readTimeout(5, TimeUnit.SECONDS); builder.writeTimeout(5, TimeUnit.SECONDS); OkHttpClient client = builder.build(); Request.Builder builder1 = new Request.Builder(); builder1.url("https://urltujuan.com/target"); JSONObject joParams = new JSONObject(); try { joParams.put("param1", "value1"); joParams.put("param2", "value2"); } catch (JSONException e) { e.printStackTrace(); } MediaType JSON = MediaType.parse("application/json; charset=utf-8"); RequestBody bodyJson = RequestBody.create(JSON, joParams.toString()); builder1.post(bodyJson); builder1.addHeader("Content-Type", "application/json"); builder1.addHeader("User-Agent", "okhttp/4.3.1"); Request request = builder1.build(); try { Response response = client.newCall(request).execute(); String responstr = response.body().string(); return responstr; } catch (IOException e) { return "IOException"+ e.getMessage(); } }
Pada kode di atas, kita menggunakan metode request synchronous dimana program tidak akan menjalankan kode setelahnya sebelum request telah selesai dijalankan.
Cukup mudah bukan… Jika ada kesalahan atau yang tidak mengerti, boleh disampaikan di kolom komentar.
Semoga bermanfaat…