ユーザ用ツール

サイト用ツール


kotlin:okhttp

差分

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

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
kotlin:okhttp [2023/04/07 15:03] – [JSON形式のリクエストボディーを作成する場合] mikotokotlin:okhttp [2023/04/27 15:03] (現在) mikoto
行 76: 行 76:
 ==== テキスト形式のリクエストボディーを作成する場合 ==== ==== テキスト形式のリクエストボディーを作成する場合 ====
 <code kotlin> <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> </code>
  
 ==== JSON形式のリクエストボディーを作成する場合 ==== ==== JSON形式のリクエストボディーを作成する場合 ====
 <code kotlin> <code kotlin>
 +import okhttp3.MediaType.Companion.toMediaType
 +import okhttp3.OkHttpClient
 +import okhttp3.Request
 +import okhttp3.RequestBody.Companion.toRequestBody
  
-val media_type = "application/json; charset=utf-8".toMediaType() +fun func() { 
-val json = "{\"user\":\"NK\",\"text\":\"Hello\"}" +  val media_type = "application/json; charset=utf-8".toMediaType() 
-val request_body = json.toRequestBody(media_type) +  val json = "{\"user\":\"NK\",\"text\":\"Hello\"}" 
-val request = Request.Builder() +  val request_body = json.toRequestBody(media_type) 
-  .url(url) +  val request = Request.Builder() 
-  .post(request_body) +    .url(url) 
-  .build()+    .post(request_body) 
 +    .build()
  
-val response = OkHttpClient().newCall(request).execute()+  val response = OkHttpClient().newCall(request).execute() 
 +}
 </code> </code>
  
行 110: 行 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.1680847380.txt.gz · 最終更新: 2023/04/07 15:03 by mikoto