fluttercandies / JsonToDart

The tool to convert json to dart code, support Windows,Mac,Web.
MIT License
355 stars 42 forks source link

后端接口字段是变化的该咋整 #12

Closed zmm2tysu closed 3 years ago

zmm2tysu commented 3 years ago

eg: 正常情况:{code: 1, message: '', data: {id: 1, name: 'flutter'}} 非正常情况:{code: -99, message: '', data: {}} 我理解的这两种情况在代码中 image

都会直接return,然后就会报Null check operator used on a null value 由于我一开始接的yapi,返回结果都是正常的。。所有全部用的required,就类似下面这种

image

现在项目把所有yapi接口都接完了....结果对接真实接口出了这么个鬼问题,想咨询下有没有成本相对来说小点的修改方案

zmtzawqlp commented 3 years ago

自己重写下convert方法

zmtzawqlp commented 3 years ago

后端字段变化。应该打他们一顿

zmtzawqlp commented 3 years ago

https://github.com/fluttercandies/ff_annotation_route_library/blob/master/lib/src/helper.dart

zmm2tysu commented 3 years ago

咋重写啊? 是自己获取到T的类型然后new一个带默认值的对象么? 我已经改完了170多个文件=。=

zmtzawqlp commented 3 years ago

那你为啥不改成 可空类型呢

zmm2tysu commented 3 years ago

我昨天改了170多个文件 弄好了...只是你说的convert重写这里没有思路解决这种问题

zmtzawqlp commented 3 years ago

重写convert,如果为null,返回你泛型T的默认值呗

zmm2tysu commented 3 years ago

T是对象的默认值咋给? 可以直接 new T么

zmtzawqlp commented 3 years ago

你自己哪些类 可能出现这个问题,不清楚吗。每个class 来一个默认。 if(T is A())

zmm2tysu commented 3 years ago

...这样看来还是把data弄成可空吧 不然每个类都得设置默认值.