簡體   English   中英

將 JSON 主體傳遞給 REST 調用 java

[英]Passing JSON Body to a REST call in java

我在執行來自 java 的后調用時遇到問題。 但是我可以從 Postman 執行相同的操作。 對於我的 rest 調用內容正文應該是這樣的

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

為此,我創建了一個這樣的 pojo:

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

在代碼中,我創建了一個方法來像這樣向這個 pojo 添加對象

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

現在對於所有這些對象,我需要調用 rest API

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();
    }

});

執行此操作后,我收到 400 錯誤代碼。 請幫我解決這個問題?

謝謝你。

我將 ausergroup.toString() 更改為 ausergroup。 它對我來說工作得很好。 但是我現在有一個新問題。 當我每次將組添加為新元素時向 pojo 添加元素時,但用戶列表正在為所有組更新。 理想情況下,每個組應該不同,但是在添加所有元素后,我看到所有組的用戶都是相同的。 我在哪里做錯了?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM