ServiceUtil工具类

com.justep.util.net.ServiceUtil
  • 我们设计一个ServiceUtil工具类实现平台内微服务之间的API调用
    • 封装了http请求工具函数
    • 提供了处理内网域名和请求header的工具函数

post(HttpServletRequest contextRequest, String serviceName, String path, JSONObject body)

功能:向平台内服务发送post请求
说明:推荐使用
参数:
    contextRequest:当前请求对象,我们在请求头封装了一些信息,因此需要将当前请求对象传递到目标服务
    serviceName:目标服务名
    path:目标服务从controller往后的完整请求路径
    body:请求体
返回:
    类型:JsonObject
参考:
    JSONObject params = new JSONObject();
    params.put("process", "/SA/task/taskCenter/taskCenterProcess");
    params.put("activity", "mainActivity");
    params.put("action", "queryWaitTaskCountAction");
    params.put("parameters", userid);

    JSONObject ret = ServiceUtil.post(SpringWebUtil.getRequest(), "wf", "/BusinessServer/business-action", params);
异常:
    1.ServiceConnectionException 服务连接异常
    2.ServiceResponseException 响应码>=300异常

post(HttpServletRequest contextRequest, String serviceName, String path, JSONObject body, Class responseType)

功能:向平台内服务发送post请求,自定义返回类型
说明:推荐使用
参数:
    contextRequest:当前请求对象
    serviceName:目标服务名
    path:目标服务从controller往后的完整请求路径
    body:请求体
    responseType:期望返回类型
返回:
    类型:在responseType参数中传入
参考:
    String ret = ServiceUtil.post(SpringWebUtil.getRequest(), "wf", "/BusinessServer/business-action", params, String.class);
异常:
    1.ServiceConnectionException 服务连接异常
    2.ServiceResponseException 响应码>=300异常

post(String url, JSONObject body, Map headers, Class responseType)

功能:开放式post请求,可自定义url、header等,可调用外部api
参数:
    url:自定义请求路径
    body:自定义请求体
    headers:自定义请求头
    responseType:期望返回类型
返回:
    类型:在responseType参数中传入
参考:
    String url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic";
    JSONObject bodyObj = new JSONObject();
    HashMap<String, String> headerMap = new HashMap<>();

    String ret = ServiceUtil.post(url, bodyObj, headerMap, String.class);
异常:
    1.ServiceConnectionException 服务连接异常
    2.ServiceResponseException 响应码>=300异常

post(String url, List params, Map headers, Class responseType)

功能:开放式post请求,可自定义url、header等,可调用外部api
参数:
    url:自定义请求路径
    params:简单名称值对节点类型集合
    headers:自定义请求头
    responseType:期望返回类型
返回:
    类型:在responseType参数中传入
异常:
    1.ServiceConnectionException 服务连接异常
    2.ServiceResponseException 响应码>=300异常

post(String url, JSONObject body, Map headers)

功能:开放式post请求,可自定义url、header等,可调用外部api
参数:
    url:自定义请求路径
    body:自定义请求体
    headers:自定义请求头
返回:
    类型:JsonObject
异常:
    1.ServiceConnectionException 服务连接异常
    2.ServiceResponseException 响应码>=300异常

post(String url, AbstractHttpEntity entity, Map headers, Class responseType)

功能:开放式post请求,可自定义url、header等,可调用外部api
参数:
    url:自定义请求路径
    entity:AbstractHttpEntity实体
    headers:自定义请求头
    responseType:期望返回类型
返回:
    类型:JsonObject
异常:
    1.ServiceConnectionException 服务连接异常
    2.ServiceResponseException 响应码>=300异常

get(HttpServletRequest contextRequest, String serviceName, String path, Map params)

功能:向平台内服务发送get请求
说明:推荐使用
参数:
    contextRequest:当前请求对象
    serviceName:目标服务名
    path:目标服务从controller往后的完整请求路径
    params:请求参数集合
返回:
    类型:JsonObject
参考:
    Map<String, String> params = new HashMap<>();
    JsonObject ret = ServiceUtil.get(SpringWebUtil.getRequest(), "entry", "/uaa/userinfo", params);
 异常:
    1.ServiceConnectionException 服务连接异常
    2.ServiceResponseException 响应码>=300异常

get(HttpServletRequest contextRequest, String serviceName, String path, Map params, Class responseType)

功能:向平台内服务发送post请求,自定义返回类型
说明:推荐使用
参数:
    contextRequest:当前请求对象
    serviceName:目标服务名
    path:目标服务从controller往后的完整请求路径
    params:请求参数集合
    responseType:期望返回类型
返回:
    类型:responseType参数传入的类型
参考:
    Map<String, String> params = new HashMap<>();
    String ret = ServiceUtil.get(SpringWebUtil.getRequest(), "entry", "/uaa/userinfo", params, String.class);
 异常:
    1.ServiceConnectionException 服务连接异常
    2.ServiceResponseException 响应码>=300异常

get(String url, Map params, Map headers)

功能:开放式get请求,可自定义url、header等,可调用外部api
参数:
    url:自定义请求路径
    params:请求参数集合
    headers:自定义请求头
返回:
    类型:JsonObject
参考:
    String url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic";
    HashMap<String, String> params = new HashMap<>();
    HashMap<String, String> headerMap = new HashMap<>();
    JSONObject ret = ServiceUtil.get(url, params, headerMap);
异常:
    1.ServiceConnectionException 服务连接异常
    2.ServiceResponseException 响应码>=300异常

get(String url, Map params, Map headers, Class responseType)

功能:开放式get请求,自定义返回类型,可自定义url、header等,可调用外部api
参数:
    url:自定义请求路径
    params:请求参数集合
    headers:自定义请求头
    responseType:期望返回类型
返回:
    类型:responseType参数中传入的类型
异常:
    1.ServiceConnectionException 服务连接异常
    2.ServiceResponseException 响应码>=300异常

delete(HttpServletRequest contextRequest, String serviceName, String path, Map params)

功能:向平台内服务发送delete请求
说明:推荐使用
参数:
    contextRequest:当前请求对象
    serviceName:目标服务名
    path:目标服务从controller往后的完整请求路径
    params:请求参数集合
返回:
    类型:JsonObject
参考:
    Map<String, String> params = new HashMap<>();
    JsonObject ret = ServiceUtil.delete(SpringWebUtil.getRequest(), "entry", "/uaa/userinfo", params);
 异常:
    1.ServiceConnectionException 服务连接异常
    2.ServiceResponseException 响应码>=300异常

delete(HttpServletRequest contextRequest, String serviceName, String path, Map params, Class responseType)

功能:向平台内服务发送delete请求,自定义返回类型
说明:推荐使用
参数:
    contextRequest:当前请求对象
    serviceName:目标服务名
    path:目标服务从controller往后的完整请求路径
    params:请求参数集合
    responseType:期望返回类型
返回:
    类型:responseType参数传入的类型
参考:
    Map<String, String> params = new HashMap<>();
    String ret = ServiceUtil.delete(SpringWebUtil.getRequest(), "entry", "/uaa/userinfo", params, String.class);
 异常:
    1.ServiceConnectionException 服务连接异常
    2.ServiceResponseException 响应码>=300异常

delete(String url, Map params, Map headers)

功能:开发delete请求,自定义url,header,可调用外部api
说明:推荐使用
参数:
    url:请求完全路径
    params:请求参数集合
    headers:请求头
返回:
    类型:JsonObject
参考:
    String url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic";
    HashMap<String, String> params = new HashMap<>();
    HashMap<String, String> headerMap = new HashMap<>();
    JSONObject ret = ServiceUtil.get(url, params, headerMap);
 异常:
    1.ServiceConnectionException 服务连接异常
    2.ServiceResponseException 响应码>=300异常

delete(String url, Map params, Map headers, Class responseType)

功能:开放式delete请求,自定义返回类型,可自定义url、header等,可调用外部api
参数:
    url:自定义请求路径
    params:请求参数集合
    headers:自定义请求头
    responseType:期望返回类型
返回:
    类型:responseType参数中传入的类型
异常:
    1.ServiceConnectionException 服务连接异常
    2.ServiceResponseException 响应码>=300异常

getServiceUrl(String serviceName)

功能:通过服务名获取全路径
参数:
    serviceName:服务名,如entry,wf
返回:
    类型:String
    示例:https://entry.newdao-tenant1:8080
参考:getServiceUrl("entry")

getExtHeaders(HttpServletRequest contextRequest)

功能:获取当前请求的扩展头信息
说明:在发送请求中,需要自定义请求头时,可以将当前请求的头信息获取出来,还可增加自定义的头信息
参数:
    contextRequest:当前请求对象
返回:
    类型:Map<String, String>
    示例:

results matching ""

    No results matching ""

    results matching ""

      No results matching ""