為啥要用后端調用第三方接口
1最重要的一點 手機APP不能直接訪問第三方接口,他不會部署到服務器,必須用外網+端口號的形式訪問 所以讓app調用后端接口來訪問第三方接口
2、速度會加快,前端直接調用第三方 然后將第三方返回的數據再傳給后端,后端處理后(過濾)傳給前端 頁面顯示 太麻煩
前端直接調用后端,后端調用第三方接口,處理后直接傳給前端
@AutoLog(value = "APP調用第三方")
@ApiOperation(value="APP調用第三方", notes="APP調用第三方")
@PostMapping(value = "/appforward")
public Result<?> pysearch(@RequestBody toPy tp) {
// 針對調用接口的類型是@RequestBody,而不是此接口中的
// HttpHeaders headers = new HttpHeaders();
// headers.setContentType(MediaType.APPLICATION_JSON);
String image = tp.getImage();
// String url1 = "http://localhost:8080/jeecg-boot/product/product/testthree";
String url = "http://localhost:8007/get_image";
MultiValueMap<String,Object> paramMap = new LinkedMultiValueMap<>();
paramMap.add("data[name]",image);
// String back = restTemplate.postForObject(url, paramMap, String.class);
String data = restTemplate.postForObject(url, paramMap, String.class);
JSONObject jsonObject = JSONObject.parseObject(data);
//將多余的data去掉 然后進行轉換實體類
String suoyou = jsonObject.getString("data");
JSONObject jsonObject1 = JSONObject.parseObject(suoyou);
Pyback pyback = JSONObject.toJavaObject(jsonObject1, Pyback.class);
// JSONObject imlist = jsonObject.getJSONObject("imlist");
// Data share = JSON.toJavaObject(jsonObject,Data.class );
// String url = "http://localhost:8007/get_image";
// paramMap.add("data[name]",image);
// PyBack pyBack = restTemplate.postForObject(url, paramMap, PyBack.class);
return Result.OK(pyback);
// return suoyou;
}
@AutoLog(value = "測試第三方接口")
@ApiOperation(value="測試第三方接口", notes="測試第三方接口")
@PostMapping(value = "/testthree")
public String testthree( String name) {
String a = name +"123";
return a;
}
附上json對象和java之間轉換
https://www.cnblogs.com/ibigboy/p/11124524.html
后端遠程調用接口視頻
