postObjData<T> method
دالة خاصة بارسال البيانات على شكل النموذج الذي تم تمريره مع الدالة
model
=>(النموذج)
inspect
=> (،ارجاع القيمة المراد استخدامها ,json التنقيب داخل )
Implementation
Future<RocketModel> postObjData<T>(String endPoint,
{RocketModel<T>? model,
bool multi = false,
Function(dynamic data)? inspect,
Map<String, dynamic>? data,
Map<String, dynamic>? params}) async {
model!.load(true);
String srch = params != null ? _mapToString(params) : "";
Uri url = Uri.parse(this.url + "/" + endPoint + "?" + srch);
http.Response? response;
try {
response = await http
.post(url, headers: headers, body: json.encode(data))
.whenComplete(() => model.load(false));
if (setCookies) {
_updateCookie(response);
}
model.setFailed(false);
return _objData<T>(response, model,
inspect: inspect, multi: multi, endpoint: endPoint);
} catch (e, s) {
String body = "";
int statusCode = 0;
if (response != null) {
body = response.body;
statusCode = response.statusCode;
}
model.setException(RocketException(
response: body,
statusCode: statusCode,
exception: e.toString(),
stackTrace: s));
model.setFailed(true);
return Future.value(model);
}
}