#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;
}