Kotlin中Retrofit调用API无法返回JSON对象数据的排查求助
问题:Retrofit调用返回200状态码但无法获取嵌套JSON数据
我正在开发一款Kotlin Android移动应用,使用Retrofit实现REST API调用以获取客户数据。创建了POST接口,通过请求体传递sessionKey到API端点。API调用成功返回200状态码和OK信息,但始终无法获取到预期的嵌套JSON数据。
Postman请求时API返回的JSON示例
{ "OrderingOrderInfoResponseStruct": { "deliveryAddresses": { "OrderingDeliveryAddressStruct": [ { "deliveryAddressNo": 5800009, "deliveryAddressName": "BASILDON & THURROCK NHS", "pointsOfService": { "OrderingPointOfServiceStruct": [ { "pointOfServiceNo": 1, "pointOfServiceName": "A & E", "pointOfServiceDescription": "A & E 12", "pointOfServiceOrderingGroupNo": "580-1", "orders": { "OrderingOrderStruct": [ { "orderType": "inventory", "orderDate": "2023-07-07", "deliveryDate": "2023-07-07", "orderStatus": 0, "articles": { "OrderingArticleStruct": [ { "articleNo": 109842, "articleDescription": "ESSENTIALS TOP SHEET S", "articleSize": "", "articleTargetQty": 385, "articleMinQty": 0, "articleMaxQty": 0, "articleIntervalQty": 0 }, { "articleNo": 103046, "articleDescription": "ESSENTIALS PILLOWCASE", "articleSize": "", "articleTargetQty": 15, "articleMinQty": 0, "articleMaxQty": 0, "articleIntervalQty": 0 }, { "articleNo": 106856, "articleDescription": "ESSENTIALS BATH TOWEL", "articleSize": "", "articleTargetQty": 24, "articleMinQty": 0, "articleMaxQty": 0, "articleIntervalQty": 0 }, { "articleNo": 106482, "articleDescription": "ESSENTIALS BLANKET THERMAL BLUE", "articleSize": "", "articleTargetQty": 130, "articleMinQty": 0, "articleMaxQty": 0, "articleIntervalQty": 0 }, { "articleNo": 106812, "articleDescription": "ESSENTIALS PATIENT MODESTY GOWN", "articleSize": "", "articleTargetQty": 65, "articleMinQty": 0, "articleMaxQty": 0, "articleIntervalQty": 0 }, { "articleNo": 106420, "articleDescription": "ESSENTIALS PLASTIC BAGS WHITE", "articleSize": "", "articleTargetQty": 75, "articleMinQty": 0, "articleMaxQty": 0, "articleIntervalQty": 0 }, { "articleNo": 106458, "articleDescription": "ESSENTIALS BAGS WATER SOLUBLE", "articleSize": "", "articleTargetQty": 25, "articleMinQty": 0, "articleMaxQty": 0, "articleIntervalQty": 0 } ] } } ] } } ] } } ] }, "orderingGroups": { "OrderingOrderingGroupStruct": [ { "orderingGroupNo": "580-1", "orderingGroupDescription": "58000009 BASILDON OPD 1" }, { "orderingGroupNo": "580-2", "orderingGroupDescription": "58000009 BASILDON OPD 2" }, { "orderingGroupNo": "580-3", "orderingGroupDescription": "58000009 BASILDON OPD 3" }, { "orderingGroupNo": "580-4", "orderingGroupDescription": "ROYALFREE TOWER BLOCK" }, { "orderingGroupNo": "580-5", "orderingGroupDescription": "5800024 ROYAL FREE OPD 2" }, { "orderingGroupNo": "580-6", "orderingGroupDescription": "5800024 ROYAL FREE OPD 3" } ] } }
应用中的接口及Retrofit实例代码
interface OrderInfoApiService1 { @Headers("Content-Type: application/json; charset=utf-8") @POST("OrderInfo") suspend fun getOrderInfo(@Body orderInfoRequest: OrderingRequest): Response<SolServices> } suspend fun fetchOrderInfo(orderInfoRequest: OrderingRequest) { val retrofit = Retrofit.Builder() .addConverterFactory(GsonConverterFactory.create())// MoshiConverterFactory.create(moshi)) .baseUrl(BASE_URL) .client(clientTime) .build() val retrofitService = retrofit.create(OrderInfoApiService1::class.java) }
Logcat中未出现任何与数据缺失相关的报错信息,请问有哪些可能的排查方向或我遗漏的明显问题?
内容的提问来源于stack exchange,提问作者Dean Ball
相关产品推荐
相关产品推荐

