Class Exchange

java.lang.Object
net.dreamlu.mica.http.Exchange

public class Exchange extends Object
Exchange
Author:
L.cm
  • Constructor Details

    • Exchange

      public Exchange(okhttp3.Call call)
  • Method Details

    • onFailed

      public Exchange onFailed(BiConsumer<okhttp3.Request,HttpException> failConsumer)
    • asVoid

      public void asVoid()
      not return.
    • onResponse

      public <R> R onResponse(Function<ResponseSpec,R> func)
    • onResponse

      public <R> @Nullable R onResponse(Function<ResponseSpec,R> func, BiFunction<okhttp3.Request,IOException,R> errFunc)
    • onSuccess

      public <R> @Nullable R onSuccess(Function<ResponseSpec,R> func)
    • onSuccessful

      public <R> @Nullable R onSuccessful(Function<ResponseSpec,R> func)
    • onSuccessOpt

      public <R> Optional<R> onSuccessOpt(Function<ResponseSpec,R> func)
    • onSuccessfulOpt

      public <R> Optional<R> onSuccessfulOpt(Function<ResponseSpec,R> func)
    • response

      public okhttp3.Response response()
      Returns ok http response.

      注意:body 不能读取,因为已经关闭掉了,建议还是直接用 onResponse 函数处理。

      Returns:
      Response
    • asString

      public String asString()
      Returns body String.
      Returns:
      body String
    • asString

      public String asString(Charset charset)
      Returns body String.
      Parameters:
      charset - Charset
      Returns:
      body String
    • asBytes

      public byte[] asBytes()
      Returns body to byte arrays.
      Returns:
      byte arrays
    • asJsonNode

      public com.fasterxml.jackson.databind.JsonNode asJsonNode()
      Returns body to JsonNode.
      Returns:
      JsonNode
    • atJsonPath

      public com.fasterxml.jackson.databind.JsonNode atJsonPath(String jsonPtrExpr)
      jackson json path 语法读取节点
      Parameters:
      jsonPtrExpr - json path 表达式
      Returns:
      JsonNode
    • atJsonPathValue

      public <T> T atJsonPathValue(String jsonPtrExpr, Class<T> valueType)
      jackson json path 语法读取节点
      Parameters:
      jsonPtrExpr - json path 表达式
      valueType - value value type
      Returns:
      JsonNode
    • asValue

      public <T> T asValue(Class<T> valueType)
      Returns body to Object.
      Parameters:
      valueType - value value type
      Returns:
      Object
    • asValue

      public <T> T asValue(com.fasterxml.jackson.core.type.TypeReference<T> typeReference)
      Returns body to Object.
      Parameters:
      typeReference - value Type Reference
      Returns:
      Object
    • asJsonPointerBean

      public <T> T asJsonPointerBean(Class<T> valueType)
      转换成 JsonPointer 语法的模型
      Type Parameters:
      T - 泛型
      Parameters:
      valueType - valueType
      Returns:
      bean
    • asList

      public <T> List<T> asList(Class<T> valueType)
      Returns body to List.
      Parameters:
      valueType - value type
      Returns:
      List
    • asMap

      public <K, V> Map<K,V> asMap(Class<?> keyClass, Class<?> valueType)
      Returns body to Map.
      Parameters:
      keyClass - key type
      valueType - value type
      Returns:
      Map
    • asMap

      public <V> Map<String,V> asMap(Class<?> valueType)
      Returns body to Map.
      Parameters:
      valueType - value 类型
      Returns:
      Map
    • toFile

      public File toFile(File file)
      toFile.
      Parameters:
      file - File
      Returns:
      File
    • toFile

      public Path toFile(Path path)
      toFile.
      Parameters:
      path - Path
      Returns:
      Path