Class ApiRequest<U>

java.lang.Object
com.here.platform.data.client.base.ApiRequest<U>
All Implemented Interfaces:
Serializable, scala.Equals, scala.Product

public class ApiRequest<U> extends Object implements scala.Product, Serializable
See Also:
  • Constructor Details

    • ApiRequest

      public ApiRequest(ApiRequestExecutor executor, String operationId, HttpMethod method, String path, String contentType, String accept, ApiConfiguration apiConfig, nl.grons.metrics4.scala.MetricName metricName, scala.Option<String> fullURL, scala.Option<String> baseURL, AccessType accessType, scala.collection.immutable.Map<Object,scala.reflect.ClassTag<?>> successResponseCodes, scala.collection.immutable.Map<Object,scala.reflect.ClassTag<?>> errorResponseCodes, scala.reflect.ClassTag<?> errorDefaultResponse, scala.Option<DataPublisher> bodyParam, scala.collection.immutable.Map<String,Object> formParams, scala.collection.immutable.Map<String,Object> pathParams, scala.collection.immutable.Map<String,Object> queryParams, scala.collection.immutable.Map<String,Object> headerParams)
  • Method Details

    • executor

      public ApiRequestExecutor executor()
    • operationId

      public String operationId()
    • method

      public HttpMethod method()
    • path

      public String path()
    • contentType

      public String contentType()
    • accept

      public String accept()
    • apiConfig

      public ApiConfiguration apiConfig()
    • metricName

      public nl.grons.metrics4.scala.MetricName metricName()
    • fullURL

      public scala.Option<String> fullURL()
    • baseURL

      public scala.Option<String> baseURL()
    • accessType

      public AccessType accessType()
    • successResponseCodes

      public scala.collection.immutable.Map<Object,scala.reflect.ClassTag<?>> successResponseCodes()
    • errorResponseCodes

      public scala.collection.immutable.Map<Object,scala.reflect.ClassTag<?>> errorResponseCodes()
    • errorDefaultResponse

      public scala.reflect.ClassTag<?> errorDefaultResponse()
    • bodyParam

      public scala.Option<DataPublisher> bodyParam()
    • formParams

      public scala.collection.immutable.Map<String,Object> formParams()
    • pathParams

      public scala.collection.immutable.Map<String,Object> pathParams()
    • queryParams

      public scala.collection.immutable.Map<String,Object> queryParams()
    • headerParams

      public scala.collection.immutable.Map<String,Object> headerParams()
    • withMethodName

      public ApiRequest<U> withMethodName(String methodName)
    • withSuccessResponse

      public <T> ApiRequest<U> withSuccessResponse(int code, scala.reflect.ClassTag<T> m)
    • withErrorResponse

      public <T> ApiRequest<U> withErrorResponse(int code, scala.reflect.ClassTag<T> m)
    • withDefaultErrorResponse

      public <T> ApiRequest<U> withDefaultErrorResponse(scala.reflect.ClassTag<T> m)
    • withoutBody

      public ApiRequest<U> withoutBody()
    • withBody

      public <B> ApiRequest<U> withBody(B body, BodySerializer<B> serializer)
      Add body to the request
      Parameters:
      body - Entity, which should be used as request body
      serializer - Serializer for request type. To provide this implicit, add next import to your file: import com.here.platform.data.client.base.generated.codecs.JsonSupport._
      Returns:
    • withBodyData

      public ApiRequest<U> withBodyData(DataPublisher dataPublisher)
    • withFormParam

      public ApiRequest<U> withFormParam(String name, Object value)
    • withPathParam

      public ApiRequest<U> withPathParam(String name, Object value)
    • withQueryParam

      public ApiRequest<U> withQueryParam(String name, Object value)
    • withQueryParam

      public ApiRequest<U> withQueryParam(scala.collection.immutable.Map<String,String> params)
    • withQueryParam

      public ApiRequest<U> withQueryParam(Object obj)
    • withHeaderParam

      public ApiRequest<U> withHeaderParam(String name, Object value)
    • withContentType

      public ApiRequest<U> withContentType(String value)
    • withAccessType

      public ApiRequest<U> withAccessType(AccessType accessType)
    • withConfig

      public ApiRequest<U> withConfig(ApiConfiguration apiConfiguration)
    • setFullUrl

      public ApiRequest<U> setFullUrl(scala.Option<String> url)
    • setBaseUrl

      public ApiRequest<U> setBaseUrl(scala.Option<String> url)
    • toHttpRequest

      public HttpRequest toHttpRequest()
    • toResponse

      public HttpResponse toResponse()
    • execute

      public scala.concurrent.Future<HttpResponse> execute()
    • handle

      public <T> T handle(scala.PartialFunction<ResponseStatusHandler,scala.concurrent.Future<T>> handler)
    • executeAndHandle

      public <T> scala.concurrent.Future<T> executeAndHandle(scala.PartialFunction<ResponseStatusHandler,scala.concurrent.Future<T>> handler)
    • to

      public <T> T to(BodyDeserializer<T> deserializer)
      Execute request and deserialize response to the specified type
      Parameters:
      deserializer - Deserializer for predefined response type. For custom types implement your own deserializer. To deserialize to the predefined types please use toEntity
      Type Parameters:
      T The custom type which the response will be deserialized to
    • executeTo

      public <T> scala.concurrent.Future<T> executeTo(BodyDeserializer<T> deserializer)
      Execute request and deserialize response to the specified type
      Parameters:
      deserializer - Deserializer for predefined response type. For custom types implement your own deserializer. To deserialize to the predefined types please use executeToEntity
      Type Parameters:
      T The custom type which the response will be deserialized to
    • toEntity

      public U toEntity(BodyDeserializer<U> deserializer)
      Execute request and deserialize response to the predefined response type
      Parameters:
      deserializer - Deserializer for predefined response type. To provide this implicit, add next import to your file: import com.here.platform.data.client.base.generated.codecs.JsonSupport._
    • executeToEntity

      public scala.concurrent.Future<U> executeToEntity(BodyDeserializer<U> deserializer)
      Execute request and deserialize response to the predefined response type
      Parameters:
      deserializer - Deserializer for predefined response type. To provide this implicit, add next import to your file: import com.here.platform.data.client.base.generated.codecs.JsonSupport._
    • toBytes

      public byte[] toBytes()
    • executeToBytes

      public scala.concurrent.Future<byte[]> executeToBytes()
    • toStatusCode

      public int toStatusCode()
    • executeToStatusCode

      public scala.concurrent.Future<Object> executeToStatusCode()
    • toInputStream

      public InputStream toInputStream()
    • executeToInputStream

      public scala.concurrent.Future<InputStream> executeToInputStream()