Okhttp

OkHttp๋Š” Square, Inc.๋ผ๋Š” ํšŒ์‚ฌ์—์„œ ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. OkHttp๋Š” Square, Inc.์˜ ๊ฐœ๋ฐœ์ž๋“ค์ด ๋งŒ๋“  ๊ณ ์„ฑ๋Šฅ HTTP ํด๋ผ์ด์–ธํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, ์•ˆ๋“œ๋กœ์ด๋“œ ๋ฐ ์ž๋ฐ” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

SETUP

dependencies {
    implementation 'com.squareup.okhttp3:okhttp:4.9.2'
}

HOW DO CODE ?

GET

class OkhttpGetApiCall(
    private val okhttpClient: OkHttpClient = OkHttpClient()
) {

    private val getRequest = okhttp3.Request.Builder()
        .url("https://gorest.co.in/public/v2/users")
        .get()
        .header("content-type", "application/json")
        .build()

    fun get(): ResponseBody = okhttpClient.newCall(getRequest)
        .execute()
        .peekBody(Long.MAX_VALUE)

    fun getAsync(): Unit = okhttpClient.newCall(getRequest)
        .enqueue(object : Callback {
            override fun onFailure(call: Call, e: IOException) = println("Failed to execute request")
            override fun onResponse(call: Call, response: Response) = println("Response received ${response.body?.string()}")
        })
}

POST, PUT, PATCH, DELETE

class OkhttpPostApiCall(
    private val okhttpClient: OkHttpClient = OkHttpClient(),
) {

    private val postRequest = okhttp3.Request.Builder()
        .url("https://gorest.co.in/public/v2/users")
        .post(FormBody.Builder() // patch put delete ... 
            .add("name","junny")
            .add("email","[email protected]")
            .add("gender","junny")
            .build()
        )
        .header("content-type", "application/json")
        .build()

    fun post(): ResponseBody = okhttpClient.newCall(postRequest)
        .execute()
        .peekBody(Long.MAX_VALUE)

    fun postAsync(): Unit = okhttpClient.newCall(postRequest)
        .enqueue(object : Callback {
            override fun onFailure(call: Call, e: IOException) = println("Failed to execute request")
            override fun onResponse(call: Call, response: Response) = println("Response received ${response.body?.string()}")
        })
}

Last updated