req method
リクエスト用オブジェクトを返す
url
URL
method
リクエストメソッド
fields
データ情報
headers
ヘッダー情報
multipart
マルチパートリクエストかどうか(ファイルストア用)。省略時はfalse
fileName
ファイル名(ファイルストア用)。省略時は空文字。
Implementation
Future<Response> req(
String url, String method, Map fields, Map<String, dynamic> headers,
{multipart = false, fileName = ''}) async {
Response? response;
var dio = new Dio();
switch (method) {
case 'GET':
{
if (multipart) {
response = await dio.get<List<int>>(url,
options: Options(
headers: headers, responseType: ResponseType.bytes));
} else {
response = await dio.get(url, options: Options(headers: headers));
}
}
break;
case 'POST':
{
var data;
if (multipart) {
FormData formData = FormData.fromMap({
'acl': fields['acl'].toJson(),
'file': MultipartFile.fromBytes(fields['file'],
filename: fileName, contentType: fields['mimeType'])
});
data = formData;
} else {
data = jsonEncode(fields);
}
response = await dio.post(url,
data: data, options: Options(headers: headers));
}
break;
case 'PUT':
{
response = await dio.put(url,
data: jsonEncode(fields), options: Options(headers: headers));
}
break;
case 'DELETE':
{
response = await dio.delete(url, options: Options(headers: headers));
}
break;
}
return response!;
}