putModel<T> method
Future<RestResponse<T> >
putModel<T>(
- String path,
- dynamic body,
- T parse(
- dynamic json
- Map<
String, dynamic> ? query, - Map<
String, dynamic> ? headers,
override
Put a data and receive a model
Implementation
@override
Future<RestResponse<T>> putModel<T>(
String path,
body,
T Function(dynamic json) parse, {
Map<String, dynamic>? query,
Map<String, dynamic>? headers,
}) async {
try {
final result = await _dio.put(
_composeUrl(path),
data: body,
queryParameters: query,
options: Options(headers: headers),
);
return RestResponse<T>(
RestStatusCode.fromInt(result.statusCode),
)..data = parse(result.data);
} on DioException catch (err) {
return RestResponse<T>(
RestStatusCode.fromInt(err.response?.statusCode),
)..exception = _getRestExceptionFromDioException(err);
} catch (e) {
return RestResponse<T>(
RestStatusCode.unknow,
)..exception = RestException(message: e.toString());
}
}