如何實(shí)現(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());
}
}
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- springboot手動動態(tài)注入controller和service方式
- SpringBoot開發(fā)詳解之Controller接收參數(shù)及參數(shù)校驗(yàn)
- SpringBoot實(shí)現(xiàn)前后端、json數(shù)據(jù)交互以及Controller接收參數(shù)的幾種常用方式
- springboot controller 增加指定前綴的兩種實(shí)現(xiàn)方法
- springBoot controller,service,dao,mapper,model層的作用說明
- springboot @Controller和@RestController的區(qū)別及應(yīng)用詳解
- SpringBoot掃描不到Controller的解決方案
- SpringBoot中的Controller用法示例詳解
相關(guān)文章
Java?DelayQueue實(shí)現(xiàn)延時(shí)任務(wù)的示例詳解
DelayQueue是一個(gè)無界的BlockingQueue的實(shí)現(xiàn)類,用于放置實(shí)現(xiàn)了Delayed接口的對象,其中的對象只能在其到期時(shí)才能從隊(duì)列中取走。本文就來利用DelayQueue實(shí)現(xiàn)延時(shí)任務(wù),感興趣的可以了解一下2022-08-08
javaweb啟動時(shí)啟動socket服務(wù)端代碼實(shí)現(xiàn)
這篇文章主要介紹了javaweb啟動時(shí)啟動socket服務(wù)端代碼實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11
java 學(xué)習(xí)筆記(入門篇)_java的基礎(chǔ)語法
從基礎(chǔ)語法開始,這個(gè)語法你也可以理解為英語或是漢語里面的語法,只不過大家各有各的特點(diǎn)和區(qū)別;那么在學(xué)習(xí)的過程中我們就要不斷的積累重要的類和方法,這樣寫程序就會方便快捷了,下面就開始學(xué)習(xí)java的基礎(chǔ)語法2013-01-01
MyBatis Plus Mapper CRUD接口測試方式
在數(shù)據(jù)庫管理系統(tǒng)中,插入記錄是添加新數(shù)據(jù)條目,而刪除操作包括根據(jù)主鍵ID單條刪除和批量刪除,也可以基于特定條件進(jìn)行刪除,刪除操作的SQL語句是通過鍵值對在Map中拼接而成,如delete from 表 where key1=value1 AND key2=value22024-09-09
spring-boot通過@Scheduled配置定時(shí)任務(wù)及定時(shí)任務(wù)@Scheduled注解的方法
這篇文章主要介紹了spring-boot通過@Scheduled配置定時(shí)任務(wù),文中還給大家介紹了springboot 定時(shí)任務(wù)@Scheduled注解的方法,需要的朋友可以參考下2017-11-11
springboot?vue測試平臺開發(fā)調(diào)通前后端環(huán)境實(shí)現(xiàn)登錄
這篇文章主要介紹了springboot?vue測試平臺開發(fā)調(diào)通前后端環(huán)境實(shí)現(xiàn)登錄詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
深入學(xué)習(xí)java8?中的CompletableFuture
本文主要介紹了java8中的CompletableFuture,CompletableFuture實(shí)現(xiàn)了CompletionStage接口和Future接口,前者是對后者的一個(gè)擴(kuò)展,增加了異步回調(diào)、流式處理、多個(gè)Future組合處理的能力,使Java在處理多任務(wù)的協(xié)同工作時(shí)更加順暢便利,下文需要的朋友可以參考一下2022-05-05
Java字符串格式化,{}占位符根據(jù)名字替換實(shí)例
這篇文章主要介紹了Java字符串格式化,{}占位符根據(jù)名字替換實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10
解析Mybatis連續(xù)傳遞多個(gè)參數(shù)的方法
MyBatis是一個(gè)支持普通SQL查詢,存儲過程和高級映射的優(yōu)秀持久層框架,這篇文章主要介紹了Mybatis連續(xù)傳遞多個(gè)參數(shù)的方法,需要的朋友可以參考下2016-08-08

