如何實現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。

推薦閱讀: