kotlin:okhttp
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| kotlin:okhttp [2023/04/07 14:33] – [POSTメソッドの送信について] mikoto | kotlin:okhttp [2023/04/27 15:03] (現在) – mikoto | ||
|---|---|---|---|
| 行 73: | 行 73: | ||
| } | } | ||
| </ | </ | ||
| + | |||
| + | ==== テキスト形式のリクエストボディーを作成する場合 ==== | ||
| + | <code kotlin> | ||
| + | import okhttp3.MediaType.Companion.toMediaType | ||
| + | import okhttp3.OkHttpClient | ||
| + | import okhttp3.Request | ||
| + | import okhttp3.RequestBody.Companion.toRequestBody | ||
| + | |||
| + | fun func() { | ||
| + | val text = "This is a sample." | ||
| + | val media_type = " | ||
| + | val request_body = text.toRequestBody(media_type) | ||
| + | val request = Request.Builder() | ||
| + | .url(url) | ||
| + | .post(request_body) | ||
| + | .build() | ||
| + | | ||
| + | val response = OkHttpClient().newCall(request).execute() | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ==== JSON形式のリクエストボディーを作成する場合 ==== | ||
| + | <code kotlin> | ||
| + | import okhttp3.MediaType.Companion.toMediaType | ||
| + | import okhttp3.OkHttpClient | ||
| + | import okhttp3.Request | ||
| + | import okhttp3.RequestBody.Companion.toRequestBody | ||
| + | |||
| + | fun func() { | ||
| + | val media_type = " | ||
| + | val json = " | ||
| + | val request_body = json.toRequestBody(media_type) | ||
| + | val request = Request.Builder() | ||
| + | .url(url) | ||
| + | .post(request_body) | ||
| + | .build() | ||
| + | |||
| + | val response = OkHttpClient().newCall(request).execute() | ||
| + | } | ||
| + | </ | ||
| + | |||
| ===== HTTPリクエストのタイムアウト値を設定する ===== | ===== HTTPリクエストのタイムアウト値を設定する ===== | ||
| Call インターフェースの'' | Call インターフェースの'' | ||
| 行 90: | 行 131: | ||
| call.timeout().timeout(60, | call.timeout().timeout(60, | ||
| val response = call.execute() | val response = call.execute() | ||
| + | </ | ||
| + | |||
| + | ===== エラー処理 ===== | ||
| + | ==== レスポンスボディーがnullの場合の処理 ==== | ||
| + | <code kotlin> | ||
| + | val response = client.newCall(request).execute() | ||
| + | val responseBody = response? | ||
| + | |||
| + | if (response.isSuccessful && responseBody != null) { | ||
| + | // レスポンスボディを処理する | ||
| + | } else { | ||
| + | // エラー処理 | ||
| + | } | ||
| </ | </ | ||
kotlin/okhttp.1680845624.txt.gz · 最終更新: 2023/04/07 14:33 by mikoto