post method
Implementation
Future<Result<ResType>> post(ReqType req) async {
var urlString = '$baseUrl$path';
var url = Uri.parse(urlString);
final encoding = Encoding.getByName('utf-8');
final body = jsonEncode(req);
final response = await http.post(
url,
body: body,
headers: {
'Content-Type': 'application/json',
},
encoding: encoding,
);
if (response.statusCode == 200) {
// utf8で受け取る
final rawString = utf8.decode(response.bodyBytes);
final ResType res = jsonDecode(rawString);
return Result.ok(res);
} else {
final error = AppError(
id: 'httpBadStatus',
detail: 'Status Code: ${response.statusCode}',
);
return Result.error(error);
}
}