如何實現(xiàn)springboot中controller之間的相互調(diào)用
更新時間:2021年06月09日 12:57:43 作者:qq_41235933
這篇文章主要介紹了實現(xiàn)springboot中controller之間的相互調(diào)用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
springboot controller之間相互調(diào)用

SpringBoot之間內(nèi)部調(diào)用
@Autowired
private RestTemplate restTemplate ;//自動裝配restTemplate
-------------------返回json字符串類型----------------------------------
@RequestMapping("/selectHospatal")
@ResponseBody
public String selectHospatal()
throws Exception {
//返回結(jié)果 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 醫(yī)生注冊為4
*/
if(name==null){
name="";
}
String forObject="";
int status=user.getStatus();//類型
String zsId=user.getType_id();//類型id
if(status==5){//診室注冊為5//getManageurl是別的springboot服務(wù)的地址如: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){//醫(yī)院注冊為2
String url = getManageurl+"/doctorController/selectHospatal?houid="+zsId+"&name="+name+"&page="+page+"&limit="+limit;
forObject = restTemplate.getForObject(url, String.class);
}
return forObject;//返回的是json字符串類型
}
--------------返回PageData對象---------------------------------
/**
* 查詢數(shù)據(jù)
* @return
* @throws Exception
*/
@RequestMapping("/viewd")
@ResponseBody
public PageData viewd() throws Exception{
//參數(shù)
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());
}
}
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- springboot手動動態(tài)注入controller和service方式
- SpringBoot開發(fā)詳解之Controller接收參數(shù)及參數(shù)校驗
- SpringBoot實現(xiàn)前后端、json數(shù)據(jù)交互以及Controller接收參數(shù)的幾種常用方式
- springboot controller 增加指定前綴的兩種實現(xiàn)方法
- springBoot controller,service,dao,mapper,model層的作用說明
- springboot @Controller和@RestController的區(qū)別及應(yīng)用詳解
- SpringBoot掃描不到Controller的解決方案
- SpringBoot中的Controller用法示例詳解
相關(guān)文章
SpringWebMVC的常用注解及應(yīng)用分層架構(gòu)詳解
這篇文章主要介紹了SpringWebMVC的常用注解及應(yīng)用分層架構(gòu),SpringWebMVC是基于ServletAPI構(gòu)建的原始Web框架,從?開始就包含在Spring框架中,感興趣的朋友可以參考下2024-05-05
Spring Boot 整合 Apache Dubbo的示例代碼
Apache Dubbo是一款高性能、輕量級的開源 Java RPC 框架,這篇文章主要介紹了Spring Boot 整合 Apache Dubbo的方法,本文通過示例說明給大家講解的非常詳細,需要的朋友可以參考下2021-07-07

