o código está igual o disponibilizado no git hub, eu verifiquei, mas ainda assim está dando esse erro no cadastro. ele vai ate dentro do while, e no fim, ao mandar a requisição POST, retorna já com o erro 400, e ai entra no if dando o erro, não consegui pegar o printStackTrace do erro, isso dificulta bastante saber onde exatamente esta o problema.
public void importarPetsDoAbrigo() throws IOException, InterruptedException {
System.out.println("Digite o id ou nome do abrigo:");
String idOuNome = new Scanner(System.in).nextLine();
System.out.println("Digite o nome do arquivo CSV:");
String nomeArquivo = new Scanner(System.in).nextLine();
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader(nomeArquivo));
} catch (FileNotFoundException e) {
// System.out.println("Erro ao carregar o arquivo: " + nomeArquivo);
System.out.println("Arquivo não encontrado: " + nomeArquivo);
e.printStackTrace();
return;
} catch (IOException e){
System.out.println("Erro ao abrir arquivo: " + nomeArquivo);
e.printStackTrace();
return;
}
String line;
while ((line = reader.readLine()) != null) {
String[] campos = line.split(",");
String tipo = campos[0];
String nome = campos[1];
String raca = campos[2];
int idade = Integer.parseInt(campos[3]);
String cor = campos[4];
Float peso = Float.parseFloat(campos[5]);
Pet pet = new Pet(tipo, nome, raca, idade, cor, peso);
String uri = "http://localhost:8080/abrigos/" + idOuNome + "/pets";
HttpResponse<String> response = client.dispararRequisicaoPost(uri, pet);
int statusCode = response.statusCode();
String responseBody = response.body();
if (statusCode == 200) {
System.out.println("Pet cadastrado com sucesso: " + nome);
} else if (statusCode == 404) {
System.out.println("Id ou nome do abrigo não encontado!");
break;
} else if (statusCode == 400 || statusCode == 500) {
System.out.println("Erro ao cadastrar o pet: " + nome);
System.out.println(responseBody);
break;
}
}
reader.close();
}