как добавить необработанные данные в основной запрос с помощью java restTeplate

#java #resttemplate

#java #resttemplate

Вопрос:

Как добавить необработанные данные, как показано ниже, в качестве основного запроса, используя java rest-template

 {
  "body": {
    "content": "This is sent via postman to MS-team general channel"
  }
}
 

Комментарии:

1. Вы что-нибудь пробовали? Если да, то почему вы этого не показали? Если нет, то почему бы и нет?

Ответ №1:

у меня возникли трудности с отправкой необработанных данных в теле запроса с использованием java rest-template, поэтому я добавляю этот код здесь для дальнейшего использования (я новичок в Java-кодировании).).

Приведенный ниже код сработал для меня для отправки сообщения на канал MS-Team

     public JSONObject sendMessage(String team_ID, String channel_ID){
        JSONObject res =null;        
        RestTemplate restTemplate = new RestTemplate();
        String url="https://graph.microsoft.com/beta/teams/" team_ID "/channels/" channel_ID "/messages";
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_JSON);                
        String token = "xxxxxxxxxx";
        headers.set("Authorization","Bearer " token);
        


         // This  didn't worked 
        /*MultiValueMap<String, Object> map = new LinkedMultiValueMap<String, Object>();
        map.add("content", "Welcome to General channel message sent via intellij IDE");

        MultiValueMap<String, String> map1= new LinkedMultiValueMap<String, String>();
        map1.add("content", "Welcome to General channel message sent via intellij IDE");
        //map.add("body", "Welcome to General channel message sent via intellij IDE");*/
        
         // This one also didn't worked 
        //JSONObject jsonObject = new JSONObject();
        //jsonObject.put("body", "{ "body": {"content":"Welcome to General channel message sent via intellij IDE  using java coding amp; http rest-Template"}}");

        // This one also didn't worked 
        //JSONObject jsonObject = new JSONObject();
        //jsonObject.put("body", "{"content":"Welcome to General channel message sent via intellij IDE  using java coding amp; http rest-Template"}");
        
        // This one worked
        String requestJson = "{ "body": {"content":"Welcome to General channel message sent via intellij IDE using java coding amp; http rest-Template"}}";
        
                 
        // HttpEntity<String> request = new HttpEntity<String>(jsonObject.toString(),headers);
        HttpEntity<String> request = new HttpEntity<String>(requestJson,headers);
        ResponseEntity<String> response=null;
        try {
            response = restTemplate.postForEntity(url, request, String.class);
            res= new JSONObject(response.getBody());
            System.out.println(res);
        }catch(Exception e){
            e.printStackTrace();
        }
        return  res;
    }