服务工具类 ServiceUtil

com.justep.util.net.ServiceUtil 类实现 API 调用,主要用于平台微服务间的 API 调用

  • 封装了 http 请求工具函数
  • 提供了处理内网域名和请求 header 的工具函数
  • 通过 post 方法支持文件上传

post

该类型请求参数类型支持 JSONObject、List <NameValuePair> 及 AbstractHttpEntity,支持请求头及响应头设置、响应数据类型设置、请求回调设置

  • post(String serviceName, String path, JSONObject body)
  • post(HttpServletRequest contextRequest, String serviceName, String path, JSONObject body)
  • post(HttpServletRequest contextRequest, String serviceName, String path, JSONObject body, Class <T> responseType)
  • post(String url, JSONObject body, Map headers)
  • post(String url, JSONObject body, Map headers, Class <T> responseType)
  • post(String url, List <NameValuePair> params, Map headers, Class <T> responseType)
  • post(String url, JSONObject body, Map headers)
  • post(String url, JSONObject body, Map headers, Class <T> responseType)
  • post(String url, JSONObject body, Map headers, Class <T> responseType,Map`> respHeader)
  • post(String url, AbstractHttpEntity entity, Map headers, Class <T> responseType)
  • post(String url, AbstractHttpEntity entity, Map headers, Class <T> responseType,Map`> respHeader)
  • post(String url, AbstractHttpEntity entity, Map headers, Class <T> responseType, ServiceRequestBuildCallback callback)
  • post(String url, AbstractHttpEntity entity, Map headers, Class <T> responseType, ServiceRequestBuildCallback callback, Map`> respHeader)

post(String serviceName, String path, JSONObject body)

功能:向平台内服务发送 post 请求
说明:推荐使用
参数:
    serviceName:目标服务名
    path:目标服务从 controller 往后的完整请求路径
    body:请求体
返回:
    类型:JsonObject
异常:
    1.ServiceConnectionException 服务连接异常
    2.ServiceResponseException 响应码>=300异常
示例:
    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("wf", "/BusinessServer/business-action", params);

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

功能:向平台内服务发送 post 请求
说明:推荐使用
参数:
    contextRequest:当前请求对象,请求头封装了一些信息,因此需要将当前请求对象传递到目标服务
    serviceName:目标服务名
    path:目标服务从 controller 往后的完整请求路径
    body:请求体
    responseType:期望返回类型
返回:
    类型:JsonObject 或 responseType 类型
异常:
    1.ServiceConnectionException 服务连接异常
    2.ServiceResponseException 响应码>=300异常
示例:
    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);
    String ret = ServiceUtil.post(SpringWebUtil.getRequest(), "wf", "/BusinessServer/business-action", params, String.class);

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

功能:开放式 post 请求,可自定义 url、header 等,可调用外部 api
参数:
    url:自定义请求路径
    body:自定义请求体
    headers:自定义请求头
    responseType:期望返回类型
返回:
    类型:JsonObject 或在 responseType 参数中传入
异常:
    1.ServiceConnectionException 服务连接异常
    2.ServiceResponseException 响应码>=300异常
示例:
    String url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic";
    JSONObject bodyObj = new JSONObject();
    HashMap<String, String> headerMap = new HashMap<>();

    JSONObject ret = ServiceUtil.post(url, bodyObj, headerMap);
    String ret = ServiceUtil.post(url, bodyObj, headerMap, String.class);

post(String url, List <NameValuePair> params, Map headers, Class <T> responseType)

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

    Map<String, String> headerMap = new HashMap<>();
    headerMap.put("content-type", "application/json;charset=UTF-8");
    headerMap.put("Accept", "application/json");

    String ret = ServiceUtil.post("http://entry", params, headerMap, String.class);

post(String url, JSONObject body, Map headers) post(String url, JSONObject body, Map headers, Class <T> responseType) post(String url, JSONObject body, Map headers, Class <T> responseType,Map`> respHeader)

功能:开放式 post 请求,可自定义 url、header 等,可调用外部 api
参数:
    url:自定义请求路径
    body:自定义请求体
    headers:自定义请求头
    responseType:期望返回类型
    respHeader:自定义响应头
返回:
    类型:JsonObject 或在 responseType 参数中传入
异常:
    1.ServiceConnectionException 服务连接异常
    2.ServiceResponseException 响应码>=300异常
示例:
    JSONObject jsonParams = new JSONObject();
    jsonParams.put("process", "/SA/task/taskCenter/taskCenterProcess");
    jsonParams.put("activity", "mainActivity");
    jsonParams.put("action", "queryWaitTaskCountAction");
    jsonParams.put("parameters", "1234");

    Map<String, String> headerMap = new HashMap<>();
    headerMap.put("content-type", "application/json;charset=UTF-8");
    headerMap.put("Accept", "application/json");

    Map<String, List<String>> respHeaderMap = new HashMap<>();
    respHeaderMap.put("X-Credential-User-Id",Arrays.asList("123"));

    JSONObject ret3 = ServiceUtil.post("http://entry", jsonParams,headerMap);
    String ret4 = ServiceUtil.post("http://entry", jsonParams,headerMap,String.class);
    String ret5 = ServiceUtil.post("http://entry", jsonParams,headerMap,String.class,respHeaderMap);

post(String url, AbstractHttpEntity entity, Map headers, Class <T> responseType) post(String url, AbstractHttpEntity entity, Map headers, Class <T> responseType,Map`> respHeader) post(String url, AbstractHttpEntity entity, Map headers, Class <T> responseType, ServiceRequestBuildCallback callback) post(String url, AbstractHttpEntity entity, Map headers, Class <T> responseType, ServiceRequestBuildCallback callback, Map`> respHeader)

功能:开放式 post 请求,可自定义 url、header 等,可调用外部 api
参数:
    url:自定义请求路径
    entity:AbstractHttpEntity 实体
    headers:自定义请求头
    responseType:期望返回类型
    callback:构造回调,可以配置任意 httpclient 支持的参数。如果有统一设置的需求,可以项目上封装 api 使用。ServiceUtil 的所有方法都支持传 ServiceRequestBuildCallback,这些默认值都是平台经过实践测试比较好的配置,通用修改请谨慎,单个 api 没有关系
    respHeader:自定义响应头
返回:
    类型:JsonObject 或在 responseType 参数中传入
异常:
    1.ServiceConnectionException 服务连接异常
    2.ServiceResponseException 响应码>=300异常
示例:文件上传
    Map<String, String> headerMap = new HashMap<>();
    headerMap.put("content-type", "charset=UTF-8");
    headerMap.put("Accept", "application/json");

    Map<String, List<String>> respHeaderMap = new HashMap<>();
    respHeaderMap.put("X-Credential-User-Id", Arrays.asList("123"));

    File file = new File("path/to/your/file"); // 设置要上传的文件路径
    // 创建BasicHttpEntity示例
    BasicHttpEntity httpEntity = new BasicHttpEntity();
    try (FileInputStream fileInputStream = new FileInputStream(file)) {
        // 设置内容
        httpEntity.setContent(fileInputStream);
        // 设置内容类型
        httpEntity.setContentType(ContentType.DEFAULT_BINARY.toString());
        // 设置内容长度
        httpEntity.setContentLength(file.length());
    }

    //请求回调设置
    ServiceRequestBuildCallback serviceRequestBuildCallback=new ServiceRequestBuildCallback() {
        public void doInServiceRequestBuild(HttpRequestBase request) {
            RequestConfig.Builder custom = RequestConfig.custom();
            // 超时60s
            custom.setConnectionRequestTimeout(60000);
            // 设置忽略set - cookie方案
            custom.setCookieSpec(CookieSpecs.IGNORE_COOKIES);

            RequestConfig requestConfig = custom.build();
            request.setConfig(requestConfig);
        }
    };

    String result1 = ServiceUtil.post("http://entry", httpEntity, headerMap, String.class);
    String result2 = ServiceUtil.post("http://entry", httpEntity, headerMap, String.class,respHeaderMap);
    String result3 = ServiceUtil.post("http://entry", httpEntity, headerMap, String.class,serviceRequestBuildCallback);
    String result4 = ServiceUtil.post("http://entry", httpEntity, headerMap, String.class,serviceRequestBuildCallback,respHeaderMap);

get

该类型请求参数支持 url 参数及 Map 类型参数,支持请求头及响应头设置、响应数据类型设置、请求回调设置

  • get(String serviceName, String path)
  • get(HttpServletRequest contextRequest, String serviceName, String path,Map params)
  • get(HttpServletRequest contextRequest, String serviceName, String path,Map params, Class <T> responseType)
  • get(String url, Map params, Map headers)
  • get(String url, Map params, Map headers,Class <T> responseType)
  • get(String url, Map params, Map headers, Class <T> responseType,ServiceRequestBuildCallback callback)
  • get(String url, Map params, Map headers, Class <T> responseType,ServiceRequestBuildCallback callback, Map`> respHeader)

get(String serviceName, String path)

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

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

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

get(String url, Map params, Map headers) get(String url, Map params, Map headers, Class <T> responseType) get(String url, Map params, Map headers, Class <T> responseType,ServiceRequestBuildCallback callback) get(String url, Map params, Map headers, Class <T> responseType,ServiceRequestBuildCallback callback, Map`> respHeader)

功能:开放式 get 请求,自定义返回类型,可自定义 url、header 等,可调用外部 api
参数:
    url:自定义请求路径
    params:请求参数集合
    headers:自定义请求头
    responseType:期望返回类型
    callback:构造回调,可以配置任意 httpclient 支持的参数。如果有统一设置的需求,可以项目上封装 api 使用。ServiceUtil 的所有方法都支持传 ServiceRequestBuildCallback,这些默认值都是平台经过实践测试比较好的配置,通用修改请谨慎,单个 api 没有关系
    respHeader:响应头
返回:
    类型:responseType 参数中传入的类型
异常:
    1.ServiceConnectionException 服务连接异常
    2.ServiceResponseException 响应码>=300异常
示例:
    Map<String, String> paramsMap = new HashMap<>();
    paramsMap.put("username", "test");
    paramsMap.put("password", "123456");

    Map<String, String> headerMap = new HashMap<>();
    headerMap.put("content-type", "application/json;charset=UTF-8");
    headerMap.put("Accept", "application/json");

    Map<String, List<String>> respHeaderMap = new HashMap<>();
    respHeaderMap.put("X-Credential-User-Id", Arrays.asList("123"));

    //请求回调设置
    ServiceRequestBuildCallback serviceRequestBuildCallback=new ServiceRequestBuildCallback() {
        public void doInServiceRequestBuild(HttpRequestBase request) {
            RequestConfig.Builder custom = RequestConfig.custom();
            // 超时60s
            custom.setConnectionRequestTimeout(60000);
            // 设置忽略set - cookie方案
            custom.setCookieSpec(CookieSpecs.IGNORE_COOKIES);

            RequestConfig requestConfig = custom.build();
            request.setConfig(requestConfig);
        }
    };

    JSONObject result11 = ServiceUtil.get("http://entry", paramsMap, headerMap);
    String result12 = ServiceUtil.get("http://entry", paramsMap, headerMap, String.class);
    String result13 = ServiceUtil.get("http://entry", paramsMap, headerMap, String.class,serviceRequestBuildCallback);
    String result14 = ServiceUtil.get("http://entry", paramsMap, headerMap, String.class,serviceRequestBuildCallback,respHeaderMap);

put

该类型请求参数类型支持 JSONObject、List <NameValuePair> 及 AbstractHttpEntity,支持请求头及响应头设置、响应数据类型设置、请求回调设置

  • put(String serviceName, String path, JSONObject body)
  • put(HttpServletRequest contextRequest, String serviceName, String path, JSONObject body)
  • put(HttpServletRequest contextRequest, String serviceName, String path, JSONObject body,Class <T> responseType)
  • put(String url, JSONObject body, Map headers)
  • put(String url, JSONObject body, Map headers, Class <T> responseType)
  • put(String url, JSONObject body, Map headers, Class <T> responseType,Map`> respHeader)
  • put(String url, List <NameValuePair> params, Map headers,Class <T> responseType)
  • put(String url, AbstractHttpEntity entity, Map headers, Class <T> responseType)
  • put(String url, AbstractHttpEntity entity, Map headers, Class <T> responseType,Map`> respHeader)
  • put(String url, AbstractHttpEntity entity, Map headers, Class <T> responseType,ServiceRequestBuildCallback callback)
  • put(String url, AbstractHttpEntity entity, Map headers, Class <T> responseType,ServiceRequestBuildCallback callback, Map`> respHeader)

put(String serviceName, String path, JSONObject body)

功能:向平台内服务发送 put 请求
说明:推荐使用
参数:
    serviceName:目标服务名
    path:目标服务从 controller 往后的完整请求路径
    body:请求体
返回:
    类型:JsonObject
异常:
    1.ServiceConnectionException 服务连接异常
    2.ServiceResponseException 响应码>=300异常
示例:
    JSONObject params = new JSONObject();   
    params.put("parameters", userid);

    JSONObject ret = ServiceUtil.put("wf", "/test/user", params);

put(HttpServletRequest contextRequest, String serviceName, String path, JSONObject body) put(HttpServletRequest contextRequest, String serviceName, String path, JSONObject body,Class <T> responseType)

功能:向平台内服务发送 put 请求
说明:推荐使用
参数:
    contextRequest:当前请求对象,请求头封装了一些信息,因此需要将当前请求对象传递到目标服务
    serviceName:目标服务名
    path:目标服务从 controller 往后的完整请求路径
    body:请求体
    responseType:期望返回类型
返回:
    类型:JsonObject 或 responseType 类型
异常:
    1.ServiceConnectionException 服务连接异常
    2.ServiceResponseException 响应码>=300异常
示例:
    JSONObject params = new JSONObject();   
    params.put("parameters", userid);

    JsonObject ret = ServiceUtil.put(SpringWebUtil.getRequest(), "wf", "/test/user", params);
    String ret = ServiceUtil.put(SpringWebUtil.getRequest(), "wf", "/test/user", params, String.class);

put(String url, JSONObject body, Map headers) put(String url, JSONObject body, Map headers, Class <T> responseType) put(String url, JSONObject body, Map headers, Class <T> responseType,Map`> respHeader)

功能:开放式 put 请求,可自定义 url、header 等,可调用外部 api
参数:
    url:自定义请求路径
    body:自定义请求体
    headers:自定义请求头
    responseType:期望返回类型
    respHeader:自定义响应头
返回:
    类型:JsonObject 或在 responseType 参数中传入
异常:
    1.ServiceConnectionException 服务连接异常
    2.ServiceResponseException 响应码>=300异常
示例:
    JSONObject jsonParams = new JSONObject();
    jsonParams.put("process", "/SA/task/taskCenter/taskCenterProcess");
    jsonParams.put("activity", "mainActivity");
    jsonParams.put("action", "queryWaitTaskCountAction");
    jsonParams.put("parameters", "1234");

    Map<String, String> headerMap = new HashMap<>();
    headerMap.put("content-type", "application/json;charset=UTF-8");
    headerMap.put("Accept", "application/json");

    Map<String, List<String>> respHeaderMap = new HashMap<>();
    respHeaderMap.put("X-Credential-User-Id",Arrays.asList("123"));

    JSONObject ret3 = ServiceUtil.put("http://entry", jsonParams,headerMap);
    String ret4 = ServiceUtil.put("http://entry", jsonParams,headerMap,String.class);
    String ret5 = ServiceUtil.put("http://entry", jsonParams,headerMap,String.class,respHeaderMap);

put(String url, List <NameValuePair> params, Map headers,Class <T> responseType)

功能:开放式 put 请求,可自定义 url、header 等,可调用外部 api
参数:
    url:自定义请求路径
    params:简单名称值对节点类型集合
    headers:自定义请求头
    responseType:期望返回类型
返回:
    类型:在 responseType 参数中传入
异常:
    1.ServiceConnectionException 服务连接异常
    2.ServiceResponseException 响应码>=300异常
示例:
    List<NameValuePair> params=new ArrayList<>();
    params.add(new BasicNameValuePair("username","test"));
    params.add(new BasicNameValuePair("password","123456"));

    Map<String, String> headerMap = new HashMap<>();
    headerMap.put("content-type", "application/json;charset=UTF-8");
    headerMap.put("Accept", "application/json");

    String ret = ServiceUtil.put("http://entry", params, headerMap, String.class);

put(String url, AbstractHttpEntity entity, Map headers, Class <T> responseType) put(String url, AbstractHttpEntity entity, Map headers, Class <T> responseType,Map`> respHeader) put(String url, AbstractHttpEntity entity, Map headers, Class <T> responseType,ServiceRequestBuildCallback callback) put(String url, AbstractHttpEntity entity, Map headers, Class <T> responseType,ServiceRequestBuildCallback callback, Map`> respHeader)

功能:开放式 put 请求,可自定义 url、header 等,可调用外部 api
参数:
    url:自定义请求路径
    entity:AbstractHttpEntity 实体
    headers:自定义请求头
    responseType:期望返回类型
    callback:构造回调,可以配置任意 httpclient 支持的参数。如果有统一设置的需求,可以项目上封装 api 使用。ServiceUtil 的所有方法都支持传 ServiceRequestBuildCallback,这些默认值都是平台经过实践测试比较好的配置,通用修改请谨慎,单个 api 没有关系
    respHeader:自定义响应头
返回:
    类型:JsonObject 或在 responseType 参数中传入
异常:
    1.ServiceConnectionException 服务连接异常
    2.ServiceResponseException 响应码>=300异常
示例:
    Map<String, String> headerMap = new HashMap<>();
    headerMap.put("content-type", "charset=UTF-8");
    headerMap.put("Accept", "application/json");

    Map<String, List<String>> respHeaderMap = new HashMap<>();
    respHeaderMap.put("X-Credential-User-Id", Arrays.asList("123"));

    // 创建 BasicHttpEntity 实例
    String json = "{\"key1\":\"value1\",\"key2\":\"value2\"}";
    BasicHttpEntity httpEntity = new BasicHttpEntity();
    httpEntity.setContentType(ContentType.APPLICATION_JSON.toString());
    httpEntity.setContentLength(json.getBytes().length);
    httpEntity.writeTo(System.out);

    //请求回调设置
    ServiceRequestBuildCallback serviceRequestBuildCallback=new ServiceRequestBuildCallback() {
        public void doInServiceRequestBuild(HttpRequestBase request) {
            RequestConfig.Builder custom = RequestConfig.custom();
            // 超时60s
            custom.setConnectionRequestTimeout(60000);
            // 设置忽略set - cookie方案
            custom.setCookieSpec(CookieSpecs.IGNORE_COOKIES);

            RequestConfig requestConfig = custom.build();
            request.setConfig(requestConfig);
        }
    };

    String result1 = ServiceUtil.put("http://entry", httpEntity, headerMap, String.class);
    String result2 = ServiceUtil.put("http://entry", httpEntity, headerMap, String.class,respHeaderMap);
    String result3 = ServiceUtil.put("http://entry", httpEntity, headerMap, String.class,serviceRequestBuildCallback);
    String result4 = ServiceUtil.put("http://entry", httpEntity, headerMap, String.class,serviceRequestBuildCallback,respHeaderMap);

delete

该类型请求参数类型仅支持 Map 类型,支持请求头设置、响应数据类型设置、请求回调设置

  • delete(HttpServletRequest contextRequest, String serviceName, String path, Map params)
  • delete(HttpServletRequest contextRequest, String serviceName, String path, Map params, Class <T> responseType)
  • delete(String url, Map params, Map headers)
  • delete(String url, Map params, Map headers, Class <T> responseType)
  • delete(String url, Map params, Map headers, Class <T> responseType, ServiceRequestBuildCallback callback)

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

功能:向平台内服务发送 delete 请求,自定义返回类型
说明:推荐使用
参数:
    contextRequest:当前请求对象
    serviceName:目标服务名
    path:目标服务从 controller 往后的完整请求路径
    params:请求参数集合
    responseType:期望返回类型
返回:
    类型:JsonObject 或在 responseType 参数中传入
示例:
    Map<String, String> params = new HashMap<>();
    JSONObject ret = ServiceUtil.delete(SpringWebUtil.getRequest(), "entry", "/uaa/userinfo", params);
    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(String url, Map params, Map headers, Class <T> responseType) delete(String url, Map params, Map headers, Class <T> responseType, ServiceRequestBuildCallback callback)

功能:开放式 delete 请求,可自定义 url、header 等,可调用外部 api
参数:
    url:自定义请求路径
    params:请求参数集合
    headers:自定义请求头
    responseType:期望返回类型
    callback:构造回调,可以配置任意 httpclient 支持的参数。如果有统一设置的需求,可以项目上封装 api 使用。ServiceUtil 的所有方法都支持传 ServiceRequestBuildCallback,这些默认值都是平台经过实践测试比较好的配置,通用修改请谨慎,单个 api 没有关系   
返回:
    类型:JsonObject 或在 responseType 参数中传入
异常:
    1.ServiceConnectionException 服务连接异常
    2.ServiceResponseException 响应码>=300异常
示例:
    Map<String, String> headerMap = new HashMap<>();
    headerMap.put("content-type", "charset=UTF-8");
    headerMap.put("Accept", "application/json");

    Map<String, String> params = new HashMap<>();
    respHeaderMap.put("userid", "123");  

    //请求回调设置
    ServiceRequestBuildCallback serviceRequestBuildCallback=new ServiceRequestBuildCallback() {
        public void doInServiceRequestBuild(HttpRequestBase request) {
            RequestConfig.Builder custom = RequestConfig.custom();
            // 超时60s
            custom.setConnectionRequestTimeout(60000);
            // 设置忽略set - cookie方案
            custom.setCookieSpec(CookieSpecs.IGNORE_COOKIES);

            RequestConfig requestConfig = custom.build();
            request.setConfig(requestConfig);
        }
    };

    JSONObject result1 = ServiceUtil.delete("http://entry", params, headerMap);
    String result2 = ServiceUtil.put("http://entry", params, headerMap,String.class);
    String result3 = ServiceUtil.put("http://entry", params, headerMap,String.class,serviceRequestBuildCallback);

getServiceUrl

getServiceUrl(String serviceName)

功能:通过服务名获取内网服务全路径
参数:
    serviceName:服务名,如 entry,wf
返回:
    类型:String
示例:
    getServiceUrl("entry") 返回:http://localhost:10010/local_ide_router/entry.nd-tenant-lzsentry

getServiceName

getServiceName(String serviceName)

功能:通过服务名获取内网服务名
参数:
    serviceName:服务名,如 entry,wf
返回:
    类型:String
示例:
    getServiceUrl("entry") 返回:entry.nd-tenant-lzsentry

getServiceHostName

getServiceHostName(String serviceName) getServiceHostName(String serviceName,String tenantCode)

功能:通过服务名获取内网全路径域名
参数:
    serviceName:服务名,如 entry,wf
返回:
    类型:String  
示例:
    getServiceHostName("entry") 返回:localhost:10010/local_ide_router/entry.nd-tenant-lzsentry  
    getServiceHostName("entry","lzsdev") 返回:localhost:10010/local_ide_router/entry.nd-tenant-lzsdev

getServiceDomainName

getServiceDomainName(String serviceName)

功能:通过服务名获取内网域名
参数:
    serviceName:服务名,如 entry,wf
返回:
    类型:String
示例:
    getServiceDomainName("entry") 返回:entry.nd-tenant-lzsentry

getExtHeaders

getExtHeaders(HttpServletRequest contextRequest)

功能:获取当前请求的扩展头信息
说明:在发送请求中,需要自定义请求头时,可以将当前请求的头信息获取出来,还可增加自定义的头信息
参数:
    contextRequest:当前请求对象
返回:
    类型:Map<String, String>
示例:
    JSONObject result=new JSONObject();
    HttpServletRequest request  = SpringWebUtil.getRequest();
    result.put("getExtHeaders", ServiceUtil.getExtHeaders(request));

    返回:{"X-FORWARDED-FOR":"192.168.0.76, 10.233.156.192","COOKIE":"_ga_QFWN0KYHTY=GS1.1.1705481716.3.1.1705481781.0.0.0; _ga=GA1.2.759021866.1705375856; request-use-base64=false; default=a8346291ba92f85ef4aafa70e30aae28","X-FORWARDED-HOST":"oauthttlzsentry8-lzsentry-ide.trunk2.xcaas.com","X-NGINX-PROXY":"true","X-FORWARDED-PORT":"8800","X-REAL-IP":"192.168.0.76","X-TENANT-KEY":"oauthttlzsentry8-ide","X-FORWARDED-PROTO":"http"}

getExtHeadersWithoutLoginContext

getExtHeadersWithoutLoginContext(HttpServletRequest contextRequest)

功能:获取当前请求的扩展头信息
说明:在发送请求中,需要自定义请求头时,可以将当前请求的头信息获取出来,不含登录上下文信息,还可增加自定义的头信息
参数:
    contextRequest:当前请求对象
返回:
    类型:Map<String, String>
示例:
    JSONObject result=new JSONObject();
    HttpServletRequest request  = SpringWebUtil.getRequest();
    result.put("getExtHeaders", ServiceUtil.getExtHeadersWithoutLoginContext(request));

    返回:{"X-CREDENTIAL-USERNAME":"system","X-DEBUG-USERNAME":"lzsentry","X-DEBUG-SERVICE":"oauthtt","X-NGINX-PROXY":"true","X-REAL-IP":"10.233.140.37","X-FORWARDED-PROTO":"http","X-FORWARDED-FOR":"192.168.0.76, 192.168.10.121, 10.233.157.167, 10.233.140.37, 10.233.157.167","COOKIE":"_ga_QFWN0KYHTY=GS1.1.1705481716.3.1.1705481781.0.0.0; _ga=GA1.2.759021866.1705375856; user_session=eyJ1c2VybmFtZSI6InN5c3RlbSIsImhtYWMiOiJcdTAwMTRfcCNcdTAwMDHgXHUwMDFheOXGW1x1MDAxOFx1MDAxMsVcdTAwMWaaX0OCYSIsImV4cGlyZSI6MTcyMzc1ODA0MSwidG9rZW4iOiJjMzliNThmMS1lYzgwLTQ5NDEtYWQwOS1iZWYxZWMzMzFkMmEiLCJ1c2VyaWQiOiJzeXN0ZW0iLCJleHBpcmVzX2luIjozNDQ3NDcyODgyfQ%3D%3D","X-PERMISSION-ADMIN":"true","X-CREDENTIAL-USER-ID":"system","X-FORWARDED-HOST":"entrylzsentry8-vipcd4fa8d4.trunk2.xcaas.com","X-CRYPTO-CHECK-PARAM":"ignore","X-CREDENTIAL-ACCESS-TOKEN":"c39b58f1-ec80-4941-ad09-bef1ec331d2a","X-FORWARDED-PORT":"8800","X-DEBUG-PORTAL-INFO":"{\"oauthtt\":{\"host\":\"oauthttlzsentry8-lzsentry-ide.trunk2.xcaas.com\",\"username\":\"lzsentry\",\"isMain\":true,\"schema\":\"http\",\"port\":\"8800\"}}","X-TENANT-KEY":"oauthttlzsentry8-ide"}

getUserSession

getUserSession(HttpServletRequest contextRequest)

功能:获取当前请求的中 session 信息
参数:
    contextRequest:当前请求对象
返回:
    类型:Map<String, String>
示例:
    JSONObject result=new JSONObject();
    HttpServletRequest request  = SpringWebUtil.getRequest();
    result.put("getExtHeaders", ServiceUtil.getUserSession(request));

    返回:eyJ1c2VybmFtZSI6InN5c3RlbSIsImhtYWMiOiJcdTAwMTRfcCNcdTAwMDHgXHUwMDFheOXGW1x1MDAxOFx1MDAxMsVcdTAwMWaaX0OCYSIsImV4cGlyZSI6MTcyMzc1ODA0MSwidG9rZW4iOiJjMzliNThmMS1lYzgwLTQ5NDEtYWQwOS1iZWYxZWMzMzFkMmEiLCJ1c2VyaWQiOiJzeXN0ZW0iLCJleHBpcmVzX2luIjozNDQ3NDcyODgyfQ%3D%3D

results matching ""

    No results matching ""