作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个如下所示的模型。
@JsonSerializable()
class Vehicle{
final String name;
final String make;
final String model;
final int year;
final int tires;
final int seats;
Vehicle({
this.name,
this.make,
this.model,
this.year,
this.tires,
this.seats
});
factory Vehicle.fromJson(Map<String, dynamic> json, int vehicleOwnerId) {
var response = _$VehicleFromJson(json);
response.vehicleOwnerId = vehicleOwnerId;
return response;
}
Map<String, dynamic> toJson() => _$VehicleToJson(this);
}
Future<int> sendData({Vehicle vehicle}){
final Response response = await put(
Uri.https(apiEndpoint, {"auth": authKey}),
headers: headers,
body: vehicle);
return response.statusCode;
}
Vehicle car;
// remove/exclude unwanted fields
int responseCode = await sendData(vehicle: car);
最佳答案
我认为您在这里缺少其他步骤。您将无法使用dart模型作为HTTP请求的数据有效负载。您将需要以String格式映射其键,然后对映射进行jsonEncode。
您可以执行类似的操作以从dart类中排除不需要的字段。
Vehicle car;
int responseCode = await sendData(vehicle: car);
Future<int> sendData({Vehicle vehicle}){
Map<String dynamic> mappedVehicle = vehicle.toJson();
vehicle.remove("tires");
vehicle.remove("seats");
// This will remove the fields
var finalVehicle = jsonEncode(mappedVehicle);
final Response response = await put(
Uri.https(apiEndpoint, {"auth": authKey}),
headers: headers,
body: finalVehicle);
return response.statusCode;
}
关于json - 如何使用另一个类和JsonKey排除DART Model中的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60030671/
我的应用程序运行正常,但在 pub upgrade --major-versions 之后,我在所有型号上都遇到了问题。示例模型: import 'package:app_220/models/Lea
我是一名优秀的程序员,十分优秀!