类 ResponseHandler


  • public abstract class ResponseHandler
    extends Object
    最初结果为 InputStream,怎么处理?这里提供一些常见的处理手段。
    作者:
    Frank Cheung
    • 构造器详细资料

      • ResponseHandler

        public ResponseHandler()
    • 方法详细资料

      • stream2Str

        public static ResponseEntity stream2Str​(ResponseEntity resp)
        响应数据转换为文本
        参数:
        resp - 响应消息体
        返回:
        响应消息体,但是已经有响应文本在内
      • download

        public static String download​(ResponseEntity resp,
                                      String saveDir,
                                      String fileName)
        下载文件
        参数:
        resp - 响应消息体
        saveDir - 保存的目录
        fileName - 保存的文件名
        返回:
        下载文件的完整磁盘路径
      • toJsonList

        public static List<Map<String,​Object>> toJsonList​(ResponseEntity resp)
        把结果转换为 JSON 对象
        参数:
        resp - 响应消息体
        返回:
        JSON(Map 格式)
      • toJson

        public static Map<String,​Object> toJson​(ResponseEntity resp)
        把结果转换为 JSON 对象
        参数:
        resp - 响应消息体
        返回:
        JSON(Map 格式)
      • toXML

        public static Map<String,​String> toXML​(ResponseEntity resp)
        把结果转换为 XML 对象
        参数:
        resp - 响应消息体
        返回:
        XML(Map 格式)
      • toBean

        public static <T> T toBean​(ResponseEntity resp,
                                   Class<T> clz)
        将 ResponseEntity 响应对象转换为指定类型的对象
        类型参数:
        T - 转换后的类型
        参数:
        resp - ResponseEntity 响应对象
        clz - 要转换为的类型
        返回:
        转换后的对象
      • gzip

        public static InputStream gzip​(HttpURLConnection conn,
                                       InputStream in)
        判断是否为 GZip 格式的输入流并返回相应的输入流 有些网站强制加入 Content-Encoding:gzip,而不管之前的是否有 GZip 的请求
        参数:
        conn - HTTP 连接
        in - 输入流
        返回:
        如果Content-Encoding为gzip,则返回 GZIPInputStream 输入流,否则返回 null