在颤振中使用 MVP 架构的 Chopper

Posted

技术标签:

【中文标题】在颤振中使用 MVP 架构的 Chopper【英文标题】:Chopper using MVP Architecture in flutter 【发布时间】:2020-06-01 06:59:39 【问题描述】:

我正在使用 Chopper 调用 api,我想得到结果 json, 这是我要调用的 API [https://api.jsonbin.io/b/5e1219328d761771cc8b9394]

我想问一下这种问题怎么解决,

未处理的异常:NoSuchMethodError:方法 在 null 上调用了“inheritFromWidgetOfExactType”。

我的课是

part 'APIService.chopper.dart';
@ChopperApi(baseUrl:"/b/")
abstract class ApiService extends ChopperService 

  @Get(path: "5e1219328d761771cc8b9394")
  Future<Response> getPost();


  static ApiService create() 
    final client = ChopperClient(
        baseUrl: "https://api.jsonbin.io/",
        services: [_$ApiService(),],
        converter: JsonConverter());
    return _$ApiService(client);
  

然后我调用这个函数来测试 Chooper

 void testAPI() async
  
    final response  = await Provider.of<ApiService>(context).getPost();
    print(response.body);
  

但我遇到了问题,我无法调用 testAPI 你能帮我吗?

提前谢谢你,顺便说一句语法对不起,

【问题讨论】:

【参考方案1】:
void testAPI() async
  
    final response  = await ApiService.create().getPost();
    print(response.body);
  

这是我问题的正确答案

【讨论】:

以上是关于在颤振中使用 MVP 架构的 Chopper的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 PathProvider 依赖项构建颤振项目

在flutter中使用Chopper网络库和flutter_bloc库

将错误响应转换为特定模型 - 斩波器颤振

在颤动中使用 Chopper 库将 JSON 响应转换为模型对象?

如何更高效的使用MVP以及官方MVP架构解析

Android架构篇--MVP模式的介绍篇