如何實現springboot中controller之間的相互調用
@Autowiredprivate RestTemplate restTemplate ;//自動裝配restTemplate -------------------返回json字符串類型----------------------------------@RequestMapping('/selectHospatal')@ResponseBodypublic String selectHospatal()throws Exception {//返回結果 pageNumPageData 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();//類型idif(status==5){//診室注冊為5//getManageurl是別的springboot服務的地址如:localhost:8080String url = getManageurl+'/doctorController/selectHospatal?crid='+zsId+'&name='+name+'&page='+page+'&limit='+limit;forObject = restTemplate.getForObject(url, String.class);}if(status==6){//科室注冊為6String 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') @ResponseBodypublic 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());}}
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。
相關文章: