import 'dart:convert';
import 'package:http/http.dart' as http;
Future main() async {
await fetchRecipes();
}
Future fetchRecipes() async {
String url = "https://gist.githubusercontent.com/pssmaia51/a176bd7ce9dec36f42be7e141d2f24d2/raw/526b68162611275eddaad46b5f1f42b4559b9ea4/recipes.json";
Uri uri = Uri.parse(url);
try {
var response = await http.get(uri);
if (response.statusCode == 200) {
print("Dados recebidos com sucesso!\n");
var data = jsonDecode(response.body);
// Aqui o JSON é uma lista, então fazemos o cast direto:
if (data is List) {
for (var recipe in data) {
print("Receita: ${recipe["nome"]}");
print("Ingredientes:");
if (recipe["ingredientes"] != null) {
for (var ingredient in recipe["ingredientes"]) {
print(" - $ingredient");
}
}
print("\nModo de preparo:");
print("${recipe["preparação"]}\n");
print("**************************************************************************************************************************\n");
}
} else {
print("Estrutura inesperada no JSON.");
}
} else {
print("Erro: código de status ${response.statusCode}");
}
} catch (e) {
print("Ocorreu um erro: $e");
}
}