如何实现springboot中controller之间的相互调用
作者:qq_41235933
这篇文章主要介绍了实现springboot中controller之间的相互调用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
springboot controller之间相互调用

SpringBoot之间内部调用
@Autowired
private RestTemplate restTemplate ;//自动装配restTemplate
-------------------返回json字符串类型----------------------------------
@RequestMapping("/selectHospatal")
@ResponseBody
public String selectHospatal()
throws Exception {
//返回结果 pageNum
PageData result = new PageData();
PageData pageData =getPageData();
int page=Integer.parseInt(pageData.getString("page"));
int limit=Integer.parseInt(pageData.getString("limit"));
String name="";
name=pageData.getString("name");
User user = (User) SecurityUtils.getSubject().getPrincipal();
/* 管理员注册为0 患者为1药厂注册为3 医生注册为4
*/
if(name==null){
name="";
}
String forObject="";
int status=user.getStatus();//类型
String zsId=user.getType_id();//类型id
if(status==5){//诊室注册为5//getManageurl是别的springboot服务的地址如:localhost:8080
String url = getManageurl+"/doctorController/selectHospatal?crid="+zsId+"&name="+name+"&page="+page+"&limit="+limit;
forObject = restTemplate.getForObject(url, String.class);
}
if(status==6){//科室注册为6
String url = getManageurl+"/doctorController/selectHospatal?dtid="+zsId+"&name="+name+"&page="+page+"&limit="+limit;
forObject = restTemplate.getForObject(url, String.class);
}
if(status==2){//医院注册为2
String url = getManageurl+"/doctorController/selectHospatal?houid="+zsId+"&name="+name+"&page="+page+"&limit="+limit;
forObject = restTemplate.getForObject(url, String.class);
}
return forObject;//返回的是json字符串类型
}
--------------返回PageData对象---------------------------------
/**
* 查询数据
* @return
* @throws Exception
*/
@RequestMapping("/viewd")
@ResponseBody
public PageData viewd() throws Exception{
//参数
PageData pageData = getPageData();
try {
String url = getManageurl+"/doctorController/view?id="+pageData.getString("id");
// String forObject = restTemplate.getForObject(url, String.class);
ResponseEntity<PageData> userResponseEntity = RestTemplateUtil.postJson(url, "", PageData.class, restTemplate);
PageData body = userResponseEntity.getBody();
return body;
} catch (Exception e) {
logger.error(e.toString());
throw new Exception(e.toString());
}
}
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
- springboot手动动态注入controller和service方式
- SpringBoot开发详解之Controller接收参数及参数校验
- SpringBoot实现前后端、json数据交互以及Controller接收参数的几种常用方式
- springboot controller 增加指定前缀的两种实现方法
- springBoot controller,service,dao,mapper,model层的作用说明
- springboot @Controller和@RestController的区别及应用详解
- SpringBoot扫描不到Controller的解决方案
- SpringBoot中的Controller用法示例详解
