一、首先先在数据库里的对应参数字段里加入需要调用的对应地址
第一个对应就是paramname,第二个对应paramvalue
二、在所需要调用接口的项目里编写方法
1、首先显示get请求
@GetMapping("/getSitePageList")
public String getSitePageList (@RequestParam("sitename") String sitename,@RequestParam("userid") String userid,@RequestParam("valid") String valid){
try {
String url = sysconfService.getSysConfByName("wzagrouplist");
if (ObjectUtil.isNotEmpty(url)) {
String pathresult = url + "?" + "userid="+userid + "&" +"sitename=" + sitename + "&" + "valid=" + valid;
String result = HttpUtil.get(pathresult);
if (ObjectUtil.isNotEmpty(result)) {
return result;
}
}
return null;
}catch (Exception e){
e.printStackTrace();
return null;
}
}
sysconfService.getSysConfByName("wzagrouplist");就是获取对应的数据库里的paramvalue,通过paramname去查询;
String pathresult然后拼接我们的地址,可以查看被调用另一个项目的接口参数,然后把所需要的参数拼接到此处。
然后通过HttpUtil去get到对应项目的接口所获取的信息放到result里,最后返回result给前端
2、post请求
@PostMapping("/updateWzaSiteAudioparamById")
public String updateWzaSiteAudioparamById (@RequestBody WzaGroupSiteDto wzaGroupSiteDto, HttpServletResponse response){
String url = sysconfService.getSysConfByName("wzagroupsiteset");
JSONObject jsonObject = new JSONObject();
jsonObject.put("id",wzaGroupSiteDto.getId());
jsonObject.put("vol",wzaGroupSiteDto.getVol());
jsonObject.put("per",wzaGroupSiteDto.getPer());
jsonObject.put("spd",wzaGroupSiteDto.getSpd());
jsonObject.put("voicecontent",wzaGroupSiteDto.getVoicecontent());
jsonObject.put("style",wzaGroupSiteDto.getStyle());
jsonObject.put("version",wzaGroupSiteDto.getVersion());
Map<String, String > heads = new HashMap<>();
heads.put("Content-Type", "application/json;charset=UTF-8");
if (ObjectUtil.isNotEmpty(url)){
String result = HttpRequest.post(url)
.headerMap(heads, false)
.body(jsonObject.toString()).timeout(30*1000).execute().body();
if(ObjectUtil.isNotEmpty(result)){
return result;
}
}
return null;
}
前部分与get一样,这里我们需要创建对应的dto来获取相关添加或修改的参数信息,然后用json对象接收,用map来设置contenttype类型,然后判断url,通过HttpRequest.post来调用post在另一个项目中对应的方法,最后返回result。