如何在flutter中从图形QL响应中删除typename



有人能帮我从flatter.如何像在poster中那样获得响应吗?从图QL中删除typename和不需要的字段吗。我在用这个包裹https://pub.dev/packages/graphql

我遇到了同样的问题,我找不到一个简单的方法来禁用__typename,所以我写了一个小程序

T removeTypename<T>(T data) =>
_removeUnwantedKeys(data, ['__typename']);
T _removeUnwantedKeys<T>(T data, List keysToRemove) {
if (data is Map && data.containsAnyOf(keysToRemove)) {
Map d = {};
data.forEach((key, value) {
if (!keysToRemove.contains(key)) d[key] = _removeUnwantedKeys(value,keysToRemove);
});
return d as T;
} else if (data is List)
return data.map((c) => _removeUnwantedKeys(c,keysToRemove)).toList() as T;
else
return data;
}
extension MapsMadeEasy<U, V> on Map<U, V>? {
bool containsAnyOf(List keys) {
if (this == null) return false;
return this!.entries.any((element) => keys.contains(element.key));
}
}

最新更新