通过httpentity将请求正文作为json发送给GET请求



将请求主体示例为Json,通过外部API的GET请求发送。

以下是通过GET请求发送时需要在Request Body中添加的示例json至外部API:''

{"nameidentify":["Name-1","Name-2","Name-3"]}

'''

'Assume i am getting values from one API like.. "Name-1","Name-2","Name-3" those values i need to 
pass to other API through GET request.For example below i am hardcoding the values for reference...'


'''
String[] namesArray={"Name-1","Name-2","Name-3"}
JSONObject jsobObject=new JSONObject();
jsonObject.put("nameidentify",namesArray);

HttpHeaders headers=new HttpHeaders();
headers.add("Accept",MediaType.APPLICATION_JSON);
headers.add("Content-Type",MediaType.APPLICATION_JSON);

HttpEntity<String> otherentity=new HttpEntity<>(jsobObject.toString(),headers);



List<Map>getnameResponse=restTemplate.
exchange(externalAPIurl,HttpMethod.GET
,otherentity,ArrayList.class)
.getBody();


当我调用外部API时,上面的代码得到了400个Bad Request。可能是他们没有收到的尸体。谁能对此提供一些想法吗。提前感谢。。。''

请编写可能有帮助的代码。这对我有效,来自";res";把你的pojo拿回来。

import org.springframework.web.client.RestTemplate;
import com.google.gson.JsonObject;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpMethod;
import org.springframework.http.MediaType;

RestTemplate restTemplate = new RestTemplate();

String url = "<external api url>";

JsonObject jsobObject=new JsonObject();
jsobObject.addProperty("someJsonProperty", "someJsonPropertyValue");
HttpHeaders headers=new HttpHeaders();
headers.add("Accept", MediaType.APPLICATION_JSON.toString());
headers.add("Content-Type",MediaType.APPLICATION_JSON.toString());

HttpEntity<String> httpEntity = new HttpEntity<>(jsobObject.toString(), headers);

String res = restTemplate.exchange(url, HttpMethod.GET, httpEntity, String.class).getBody();

相关内容

  • 没有找到相关文章

最新更新