将请求主体示例为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();