ユーザ用ツール

サイト用ツール


kotlin:okhttp

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
kotlin:okhttp [2023/04/07 14:33] – [POSTメソッドの送信について] mikotokotlin:okhttp [2023/04/27 15:03] (現在) mikoto
行 44: 行 44:
  
 val response = OkHttpClient().newCall(request).execute() val response = OkHttpClient().newCall(request).execute()
-</code kotlin>+</code>
  
 ==== XMLを送信する方法 ==== ==== XMLを送信する方法 ====
-<code>+<code kotlin>
 import okhttp3.MediaType.Companion.toMediaType import okhttp3.MediaType.Companion.toMediaType
 import okhttp3.OkHttpClient import okhttp3.OkHttpClient
行 73: 行 73:
 } }
 </code> </code>
 +
 +==== テキスト形式のリクエストボディーを作成する場合 ====
 +<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 = "text/plain".toMediaTypeOrNull()
 +  val request_body = text.toRequestBody(media_type)
 +  val request = Request.Builder()
 +    .url(url)
 +    .post(request_body)
 +    .build()
 +  
 +  val response = OkHttpClient().newCall(request).execute()
 +}
 +</code>
 +
 +==== JSON形式のリクエストボディーを作成する場合 ====
 +<code kotlin>
 +import okhttp3.MediaType.Companion.toMediaType
 +import okhttp3.OkHttpClient
 +import okhttp3.Request
 +import okhttp3.RequestBody.Companion.toRequestBody
 +
 +fun func() {
 +  val media_type = "application/json; charset=utf-8".toMediaType()
 +  val json = "{\"user\":\"NK\",\"text\":\"Hello\"}"
 +  val request_body = json.toRequestBody(media_type)
 +  val request = Request.Builder()
 +    .url(url)
 +    .post(request_body)
 +    .build()
 +
 +  val response = OkHttpClient().newCall(request).execute()
 +}
 +</code>
 +
 ===== HTTPリクエストのタイムアウト値を設定する ===== ===== HTTPリクエストのタイムアウト値を設定する =====
 Call インターフェースの''timeout''メソッドを使用する。 Call インターフェースの''timeout''メソッドを使用する。
行 90: 行 131:
 call.timeout().timeout(60, TimeUnit.SECONDS) call.timeout().timeout(60, TimeUnit.SECONDS)
 val response = call.execute() val response = call.execute()
 +</code>
 +
 +===== エラー処理 =====
 +==== レスポンスボディーがnullの場合の処理 ====
 +<code kotlin>
 +val response = client.newCall(request).execute()
 +val responseBody = response?.body?.string()
 +
 +if (response.isSuccessful && responseBody != null) {
 +    // レスポンスボディを処理する
 +} else {
 +    // エラー処理
 +}
 </code> </code>
kotlin/okhttp.1680845584.txt.gz · 最終更新: 2023/04/07 14:33 by mikoto