如何实现springboot中controller之间的相互调用
更新时间:2021年06月09日 12:57:43 作者: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用法示例详解
相关文章
MyBatis Plus Mapper CRUD接口测试方式
在数据库管理系统中,插入记录是添加新数据条目,而删除操作包括根据主键ID单条删除和批量删除,也可以基于特定条件进行删除,删除操作的SQL语句是通过键值对在Map中拼接而成,如delete from 表 where key1=value1 AND key2=value22024-09-09
spring-boot通过@Scheduled配置定时任务及定时任务@Scheduled注解的方法
这篇文章主要介绍了spring-boot通过@Scheduled配置定时任务,文中还给大家介绍了springboot 定时任务@Scheduled注解的方法,需要的朋友可以参考下2017-11-11
springboot vue测试平台开发调通前后端环境实现登录
这篇文章主要介绍了springboot vue测试平台开发调通前后端环境实现登录详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-05-05


最新评论