如何實現springboot中controller之間的相互調用
springboot controller之間相互調用
SpringBoot之間內部調用
@Autowired private RestTemplate restTemplate ;//自動裝配restTemplate -------------------返回json字符串類型---------------------------------- @RequestMapping("/selectHospatal") @ResponseBody public String selectHospatal() throws Exception { //返回結果 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 醫生註冊為4 */ if(name==null){ name=""; } String forObject=""; int status=user.getStatus();//類型 String zsId=user.getType_id();//類型id if(status==5){//診室註冊為5//getManageurl是別的springboot服務的地址如: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){//醫院註冊為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") @ResponseBody public 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()); } }
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- java返回json請求中文變成問號的問題及解決
- spring boot RestTemplate 發送get請求的踩坑及解決
- SpringBoot 如何使用RestTemplate來調用接口
- 解決RestTemplate 請求url中包含百分號 會被轉義成25的問題
- 解決RestTemplate加@Autowired註入不瞭的問題