如何實現(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)文章
Java?DelayQueue實現(xiàn)延時任務(wù)的示例詳解
DelayQueue是一個無界的BlockingQueue的實現(xiàn)類,用于放置實現(xiàn)了Delayed接口的對象,其中的對象只能在其到期時才能從隊列中取走。本文就來利用DelayQueue實現(xiàn)延時任務(wù),感興趣的可以了解一下2022-08-08
javaweb啟動時啟動socket服務(wù)端代碼實現(xiàn)
這篇文章主要介紹了javaweb啟動時啟動socket服務(wù)端代碼實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-11-11
java 學(xué)習(xí)筆記(入門篇)_java的基礎(chǔ)語法
從基礎(chǔ)語法開始,這個語法你也可以理解為英語或是漢語里面的語法,只不過大家各有各的特點和區(qū)別;那么在學(xué)習(xí)的過程中我們就要不斷的積累重要的類和方法,這樣寫程序就會方便快捷了,下面就開始學(xué)習(xí)java的基礎(chǔ)語法2013-01-01
MyBatis Plus Mapper CRUD接口測試方式
在數(shù)據(jù)庫管理系統(tǒng)中,插入記錄是添加新數(shù)據(jù)條目,而刪除操作包括根據(jù)主鍵ID單條刪除和批量刪除,也可以基于特定條件進行刪除,刪除操作的SQL語句是通過鍵值對在Map中拼接而成,如delete from 表 where key1=value1 AND key2=value22024-09-09
spring-boot通過@Scheduled配置定時任務(wù)及定時任務(wù)@Scheduled注解的方法
這篇文章主要介紹了spring-boot通過@Scheduled配置定時任務(wù),文中還給大家介紹了springboot 定時任務(wù)@Scheduled注解的方法,需要的朋友可以參考下2017-11-11
springboot?vue測試平臺開發(fā)調(diào)通前后端環(huán)境實現(xiàn)登錄
這篇文章主要介紹了springboot?vue測試平臺開發(fā)調(diào)通前后端環(huán)境實現(xiàn)登錄詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05
深入學(xué)習(xí)java8?中的CompletableFuture
本文主要介紹了java8中的CompletableFuture,CompletableFuture實現(xiàn)了CompletionStage接口和Future接口,前者是對后者的一個擴展,增加了異步回調(diào)、流式處理、多個Future組合處理的能力,使Java在處理多任務(wù)的協(xié)同工作時更加順暢便利,下文需要的朋友可以參考一下2022-05-05

