后端调用服务
在后端访问服务,即可以使用第三方的类库,例如:HttpClient,也可以使用系统提供的 ServiceUtil 工具类,该类主要用于平台内微服务之间的 API 调用。完整 API 参考《ServiceUtil 工具类》
调用租户内的服务
发送 get 请求
get(HttpServletRequest contextRequest, String serviceName, String path, Map<String, String> params, Class<T> responseType)
发送 post 请求
post(HttpServletRequest contextRequest, String serviceName, String path, JSONObject body, Class<T> responseType)
获取当前应用的服务名
ContextUtil 类提供 getServiceName() 方法获取当前服务名,如 entry,wf
案例
返回 JSONObject 类型
JSONObject obj = ServiceUtil.get(SpringWebUtil.getRequest(),ContextUtil.getServiceName(),"/main/fuwu/goodslist",null);
返回 JSONArray 类型
JSONArray arr = ServiceUtil.get(SpringWebUtil.getRequest(),ContextUtil.getServiceName(),,"/main/fuwu/goodslist",null,JSONArray.class);
返回 String 类型
String str = ServiceUtil.get(SpringWebUtil.getRequest(),ContextUtil.getServiceName(),,"/main/fuwu/goodslist",null,String.class);
返回 void
Map<String,String> paramJson = new HashMap();
paramJson.put("parentSeq",org.getString("sequence"));
paramJson.put("personInfo",userObj.toJSONString());
paramJson.put("memberInfo",orgObj.toJSONString());
ServiceUtil.get(SpringWebUtil.getRequest(),"entry","/opm/orgmanger/insertperson",paramJson,void.class);
提交
JSONObject persimmionInfoObj = new JSONObject();
persimmionInfoObj.put("id", com.justep.util.RandomUtil.uuid());
persimmionInfoObj.put("code", psmid);
persimmionInfoObj.put("name", code);
persimmionInfoObj.put("description", name);
persimmionInfoObj.put("role", "/roles/subadmin");
ServiceUtil.post(SpringWebUtil.getRequest(), "entry", "/authorize/subjects", persimmionInfoObj);
调用第三方 API
发送 get 请求
get(String url, Map<String, String> params, Map<String, String> headers, Class<T> responseType)
发送 post 请求
post(String url, JSONObject body, Map<String, String> headers, Class<T> responseType)
post(String url, List<NameValuePair> params, Map<String, String> headers, Class<T> responseType)
post(String url, AbstractHttpEntity entity, Map<String, String> headers, Class<T> responseType)