Interface Endpoint<RequestT,​ResponseT,​ErrorT>

Type Parameters:
RequestT - the endpoint's request
ResponseT - the endpoint's response. Use Void when there's no response body.
ErrorT - the endpoint's error type. Use Void when error responses have no body.
All Known Subinterfaces:
JsonEndpoint<RequestT,​ResponseT,​ErrorT>
All Known Implementing Classes:
BooleanEndpoint, DelegatingJsonEndpoint, EndpointWithResponseMapperAttr, SimpleEndpoint

public interface Endpoint<RequestT,​ResponseT,​ErrorT>
An endpoint links requests and responses to HTTP protocol encoding. It also defines the error response when the server cannot perform the request.

Requests are serialized as JSON by default, unless they implement specific marker interfaces that indicate otherwise and must be handled by the transport processing the request (e.g. NdJsonpSerializable).

Response body decoding, when applicable, is defined by child interfaces like JsonEndpoint.

  • Method Summary

    Modifier and Type Method Description
    JsonpDeserializer<ErrorT> errorDeserializer​(int statusCode)
    The entity parser for the error response body.
    boolean hasRequestBody()  
    default java.util.Map<java.lang.String,​java.lang.String> headers​(RequestT request)
    Get the HTTP headers for a request.
    java.lang.String id()
    The endpoint's identifier.
    boolean isError​(int statusCode)
    Is this status code to be considered as an error?
    java.lang.String method​(RequestT request)
    Get the endpoint's HTTP method for a request.
    default java.util.Map<java.lang.String,​java.lang.String> queryParameters​(RequestT request)
    Get the query parameters for a request.
    java.lang.String requestUrl​(RequestT request)
    Get the URL path for a request.
  • Method Details

    • id

      java.lang.String id()
      The endpoint's identifier.
    • method

      java.lang.String method​(RequestT request)
      Get the endpoint's HTTP method for a request.
    • requestUrl

      java.lang.String requestUrl​(RequestT request)
      Get the URL path for a request.
    • queryParameters

      default java.util.Map<java.lang.String,​java.lang.String> queryParameters​(RequestT request)
      Get the query parameters for a request.
    • headers

      default java.util.Map<java.lang.String,​java.lang.String> headers​(RequestT request)
      Get the HTTP headers for a request.
    • hasRequestBody

      boolean hasRequestBody()
    • isError

      boolean isError​(int statusCode)
      Is this status code to be considered as an error?
    • errorDeserializer

      @Nullable JsonpDeserializer<ErrorT> errorDeserializer​(int statusCode)
      The entity parser for the error response body. Can be null to indicate that there's no error body.