Saya mengalami masalah dalam menjalankan panggilan pos dari Java. Namun saya dapat melakukan hal yang sama dari Postman. Untuk isi konten panggilan istirahat saya harus seperti ini

{"group": "group1","users": ["Z123456","a123456","x123456"]}

Untuk ini saya membuat pojo seperti ini:

public class GroupUserMapping {
    String group;
    ArrayList<String> users;
}

Dan Dalam kode saya membuat metode untuk menambahkan objek ke pojo ini seperti ini

 ArrayList<GroupUserMapping> usergroups = new ArrayList<>();
//some conditions
 GroupUserMapping groupUserMapping = new GroupUserMapping(group,users);
  usergroups.add(groupUserMapping);

Sekarang untuk semua objek ini saya perlu memanggil API lainnya

usergroups.stream().parallel().forEach(ausergroup -> {
    try {
       CloseableHttpClient client = HttpClients.createDefault();
       HttpPost httpPost = new HttpPost(url);
       Gson gson = new Gson();
       String base64 = basicEncode();
       httpPost.addHeader("Authorization", base64);
       httpPost.setHeader("Content-type", "application/json");
       StringEntity entity = new StringEntity(gson.toJson(ausergroup.toString()));

       httpPost.setEntity(entity);
       HttpResponse response = client.execute(httpPost);
    } catch (Exception e) {
        e.printStackTrace();
    }

});

Setelah menjalankan ini saya mendapatkan 400 kode kesalahan. Tolong bantu saya dalam menyelesaikan ini?

Terima kasih.

0
Susmitha Thallapally 3 April 2021, 11:13

1 menjawab

Jawaban Terbaik

Saya mengubah ausergroup.toString() menjadi ausergroup. Ini bekerja dengan baik untukku. Namun saya punya masalah baru sekarang. Ketika saya menambahkan elemen ke pojo setiap kali grup ditambahkan sebagai elemen baru tetapi daftar pengguna diperbarui untuk semua grup. Idealnya itu harus berbeda untuk setiap grup tetapi setelah menambahkan semua elemen, saya melihat pengguna sama untuk semua grup. Di mana saya melakukan kesalahan?

0
Susmitha Thallapally 3 April 2021, 13:48