我正在使用Chopper库来调用其余的API调用。
我已按照Raywenderlich Chopper Tutorial教程在项目中实现API调用。
在本教程中,他们使用以下代码将JSON响应转换为受欢迎模型对象。
try {
var mapData = json.decode(body);
**var popular = Popular.fromJson(mapData);**
return response.copyWith<BodyType>(body: popular as BodyType);
} catch (e) {
chopperLogger.warning(e);
return response.copyWith<BodyType>(body: body);
}
很好。但是在我的项目中,我必须进行多个API调用,并且需要解码对Dart模型对象的多个JSON响应。
那么如何解码多个API调用响应?我是否需要执行以下操作:
if(mapData['popularResponse'] != null) {
Popular popularResponse = Popular.fromJson(mapData);
return response.copyWith<BodyType>(
body: popularResponse as BodyType);
} else if(mapData['articleResponse'] != null) {
Article articleResponse = Article.fromJson(mapData);
return response.copyWith<BodyType>(
body: articleResponse as BodyType);
} else if(......) {
......
}
如何进一步进行?
答案 0 :(得分:0)
每个 api 文件一个请求,这是我认为这可能的唯一方法,我认为 http 包已经足够好,chopper 比它的价值更麻烦。