我有一个案例,我想向服务器发送数据。这里我有 3 个必须发送的身体,但我很困惑。
这里的 transcript_value 键有 2 个值,如果选择数字 1,那么它将发送 VALUE TRANSCRIPTS 而不发送 SEMESTER,如果选择数字 2,那么它将发送 KHS 和 SEMESTER(下拉)。
如何在以下两个条件下将数据发布到服务器
我对如何解释感到困惑,但我希望你能理解 接下来我展示 API 以及移动设备上的显示
在 API 中
创建>> pengajuan-class.dart(你也可以创建你所有的json to dart >>https://javiercbk.github.io/json_to_dart/)
class pengajuanClass {
String? status;
String? code;
String? message;
pengajuanClass({this.status, this.code, this.message});
pengajuanClass.fromJson(Map<String, dynamic> json) {
status = json['status'];
code = json['code'];
message = json['message'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['status'] = this.status;
data['code'] = this.code;
data['message'] = this.message;
return data;
}
}
Create>> pengajuan-services.dart(pengajuanClass 需要快速修复,因为你需要导入这个类)
import 'dart:convert';
import 'package:http/http.dart' as http;
class transcriptValueServices {
static Future<pengajuanClass> AddpengajuanService(
String jenis_transkrip,
String semester,
String keperluan_cetak,
) async {
try {
final response = await http
.post(
Uri.parse(
'your URL',
),
headers: {
// write all your headers
'Content-Type': 'application/json',
'Authorization': 'Bearer ***', // If u have a bearer write it or delete this.
},
body: jsonEncode({
'jenis_transkrip': jenis_transkrip,
'semester': semester,
'keperluan_cetak': keperluan_cetak,
}),
)
.timeout(const Duration(seconds: 30));
var json = jsonDecode(response.body);
if (response.statusCode == 200) {
return pengajuanClass.fromJson(json);
}
return pengajuanClass(code: "999");
} catch (e) {
return pengajuanClass(code: "999");
}
}
}
你可以在点击事件中这样调用 >> (不要忘记写异步点击事件示例:onPressed: () async { } ) //“pengajuanClass”和“transcriptValueServices”需要快速修复,因为你需要导入
pengajuanClass returnData = await transcriptValueServices.AddpengajuanService("selected data","selected data","selected data");
希望有用^^