ApiResponse response = *.class不起作用

当在Java中使用ApiResponse注解时,Swagger无法显示响应数据。原因是Swagger仅识别预定义的实体类属性。解决方案是创建一个泛型实体类,并编写测试接口,通过这种方式使Swagger能够正确显示接口的响应字段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

private fun sendHttpRequest(json:JSONObject) { val urlString = "https://183.191.209.32:18802/app-card/writeCard/sdkDeviceRegist" //val client = OkHttpClient() val client = createUnsafeOkHttpClient() val request = Request.Builder() .url(urlString) .post(json.toString().toRequestBody("application/json".toMediaType())) .build() try { client.newCall(request).execute().use { response -> // 处理响应(需在UI线程更新) if (!response.isSuccessful) throw IOException("Request failed: ${response.code}") //response.body?.use { body -> //val contentType = body.contentType()?.toString() ?: "unknown" //val contentLength = body.contentLength() //println("Received $contentLength bytes ($contentType)") //println(body.string()) //} // 解析代码 val gson = Gson() response.body?.let { responseBody -> try { val result = gson.fromJson(responseBody.charStream(), ApiResponse::class.java) //println("retCode: ${result.retCode}, retDesc: ${result.retDesc}") // 方法1:findViewById(基础方式) val etRetCode = findViewById<EditText>(R.id.editText2) etRetCode.setText( result.retCode) val tvRetDesc = findViewById<TextView>(R.id.label2) tvRetDesc.text = result.retDesc saveDataDirectly(result.retCode) // 方法2:View Binding(推荐) //binding.etRetCode.setText({result.retCode}) // 使用字符串模板 //withContext(Dispatchers.Main) { // 切换主线程 // binding.label2.text = result.retDesc } catch (e: JsonSyntaxException) { // 处理JSON格式错误 } } } } catch (e: IOException) { //println("Network error: ${e.message}") //Toast.makeText(this, "Network error:${e.message}", Toast.LENGTH_SHORT).show() e.message?.toString()?.let { errorMsg -> binding.editText2.apply { text = Editable.Factory.getInstance().newEditable(errorMsg) // 可附加其他属性设置 setSelection(errorMsg.length) // 示例:移动光标到末尾 } } } } 在执行text = Editable.Factory.getInstance().newEditable(errorMsg)时闪退,分析解决方案
最新发布
03-18
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Roc-xb

真诚赞赏,手留余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值