1.Utilize a função que já existe para obter dados ajustando seu retorno
Future<List<dynamic>> requestDataAsync() async {
String url =
"https://gist.githubusercontent.com/Zilalb/c1d8a94b58803241d299a16b15149e33/raw/6f9ac72a6313bdf7d1515524028588718a8aff9a/accounts.json";
Response response = await get(Uri.parse(url));
return json.decode(response.body);
2. Crie a função sendDataAsync
Future<void>sendDataAsync(Map<String, dynamic> mapAccount) async {
3. Implemente a função sendDataAsync
Future<void>sendDataAsync(Map<String, dynamic> mapAccount) async {
List<dynamic> listAccounts = await requestDataAsync();
listAccounts.add(mapAccount);
String content = json.encode(listAccounts);
print(content);
4. Envie os dados com requisição POST
import 'dart:convert';
Future<void>sendDataAsync(Map<String, dynamic> mapAccount) async {
List<dynamic> listAccounts = await requestDataAsync();
listAccounts.add(mapAccount);
String content = json.encode(listAccounts);
print(content);
String url =
"https://api.github.com/gists/c1d8a94b58803241d299a16b15149e33";
Response response = await post(
Uri.parse(url),
headers: {
"Authorization" : "Bearer $githubApikey"
},
body: json.encode({
"description" : "account.json",
"public" : true,
"files" : {
"account.json": {
"content": content,
}
}
}),
);
print(response.statusCode);
}