import 'package:http/http.dart';
import 'dart:convert';
void main() {
  requestDataAsync("Dra. Patrícia Gomes"); 
}
Future<void> requestDataAsync(String veterinario) async {
  print("Iniciando requisição.........");
  String url =
      "https://raw.githubusercontent.com/alura-cursos/dart_assincronismo_api/aula05/.json/vet.json";
  try {
    Response response = await get(Uri.parse(url));
    if (response.statusCode == 200) {
      List<dynamic> accounts = jsonDecode(response.body);
      // Filtra todas as consultas da veterinária informada
      List<Map<String, dynamic>> consultas = accounts
          .where((element) => element["veterinarian"] == veterinario)
          .cast<Map<String, dynamic>>()
          .toList();
      print("Resposta recebida da API.........");
      if (consultas.isNotEmpty) {
        print("Foram encontradas ${consultas.length} consultas para $veterinario:\n");
        for (var consulta in consultas) {
          print("Data: ${consulta["appointment"]}");
          print("Pet: ${consulta["pet_name"]}");          
          print("-----------------------------");
        }
      } else {
        print("Nenhuma consulta encontrada para '$veterinario'.");
      }
    } else {
      print("Erro na requisição. Código HTTP: ${response.statusCode}");
    }
  } catch (e) {
    print("Erro no método async/await: $e");
  }
  print("Fim da função async/await.\n");
}
Optei por esse exercício pelo maior grau de complexidade, pois tem que filtrar pelo nome do profissional e devolver todas as consultas a ele relacionadas, e assim testar o que foi passado como ensinamento e procurando melhorar, os conhecimentos
 
             
             Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!
   Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!