如何實(shí)現(xiàn)springboot中controller之間的相互調(diào)用
更新時(shí)間:2021年06月09日 12:57:43 作者:qq_41235933
這篇文章主要介紹了實(shí)現(xiàn)springboot中controller之間的相互調(diào)用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
springboot controller之間相互調(diào)用
SpringBoot之間內(nèi)部調(diào)用
@Autowired private RestTemplate restTemplate ;//自動(dòng)裝配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(); /* 管理員注冊(cè)為0 患者為1藥廠注冊(cè)為3 醫(yī)生注冊(cè)為4 */ if(name==null){ name=""; } String forObject=""; int status=user.getStatus();//類型 String zsId=user.getType_id();//類型id if(status==5){//診室注冊(cè)為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){//科室注冊(cè)為6 String url = getManageurl+"/doctorController/selectHospatal?dtid="+zsId+"&name="+name+"&page="+page+"&limit="+limit; forObject = restTemplate.getForObject(url, String.class); } if(status==2){//醫(yī)院注冊(cè)為2 String url = getManageurl+"/doctorController/selectHospatal?houid="+zsId+"&name="+name+"&page="+page+"&limit="+limit; forObject = restTemplate.getForObject(url, String.class); } return forObject;//返回的是json字符串類型 } --------------返回PageData對(duì)象--------------------------------- /** * 查詢數(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手動(dòng)動(dòng)態(tài)注入controller和service方式
- SpringBoot開(kāi)發(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層的作用說(shuō)明
- springboot @Controller和@RestController的區(qū)別及應(yīng)用詳解
- SpringBoot掃描不到Controller的解決方案
- SpringBoot中的Controller用法示例詳解
相關(guān)文章
SWT(JFace)體驗(yàn)之FillLayout布局
FillLayout是非常簡(jiǎn)單的一種布局方式,它會(huì)以同樣大小對(duì)父組件中的子組件進(jìn)行布局,這些子組件將以一行或一列的形式排列。2009-06-06SpringWebMVC的常用注解及應(yīng)用分層架構(gòu)詳解
這篇文章主要介紹了SpringWebMVC的常用注解及應(yīng)用分層架構(gòu),SpringWebMVC是基于ServletAPI構(gòu)建的原始Web框架,從?開(kāi)始就包含在Spring框架中,感興趣的朋友可以參考下2024-05-05Java可以寫(xiě)android的應(yīng)用程序嗎
在本篇文章里小編給大家整理的是一篇關(guān)于Java可以寫(xiě)android的應(yīng)用程序嗎的相關(guān)基礎(chǔ)文章,有興趣的朋友們可以學(xué)習(xí)下。2020-11-11Java線程之join_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
join() 定義在Thread.java中,下文通過(guò)源碼分享join(),需要的朋友參考下吧2017-05-05Spring Boot 整合 Apache Dubbo的示例代碼
Apache Dubbo是一款高性能、輕量級(jí)的開(kāi)源 Java RPC 框架,這篇文章主要介紹了Spring Boot 整合 Apache Dubbo的方法,本文通過(guò)示例說(shuō)明給大家講解的非常詳細(xì),需要的朋友可以參考下2021-07-07SpringBoot下載文件遇到文件損壞等問(wèn)題解決方案
調(diào)用接口下載spring?boot工程的resources目錄下的excel模板文件,非常常見(jiàn)的一個(gè)文件下載功能,但是卻容易遇到很多坑,下面總結(jié)記錄下2023-10-10