Interface RequestBuilder


  • public interface RequestBuilder
    A RequestBuilder allows for making Resource based request to any Okta endpoint. Not all Okta endpoints are implemented by this SDK currently, this interface allow to make requests with:
    • Any Resource as the request body
    • Setting query parameters
    • GET, POST, PUT, and DELETE requests
    Example usage for the Set Password:

    // create a resource Resource userPasswordRequest = client.instantiate(ExtensibleResource) userPasswordRequest.put("credentials", client.instantiate(ExtensibleResource) .put("password", client.instantiate(ExtensibleResource) .put("value", "aPassword1!".toCharArray()))) // make a POST request to `/api/v1/users/{userId}` and return a User resource User result = client.getDataStore().http() .setBody(userPasswordRequest) .post("/api/v1/users/"+ userId, User.class)

    Since:
    1.2.0
    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      RequestBuilder addHeaderParameter​(java.lang.String key, java.lang.String value)
      Adds a header parameter to the request builder.
      RequestBuilder addHeaderParameter​(java.lang.String key, java.util.List<java.lang.String> values)
      Adds a header parameter to the request builder.
      RequestBuilder addQueryParameter​(java.lang.String key, java.lang.String value)
      Adds a query parameter to the request builder.
      void delete​(java.lang.String href)
      Executes a DELETE request.
      <T extends Resource>
      T
      get​(java.lang.String href, java.lang.Class<T> type)
      Executes a GET request and returns a Resource.
      java.io.InputStream getRaw​(java.lang.String href)
      Executes a GET request and returns a raw response.
      default void post​(java.lang.String href)
      Executes a POST request.
      <T extends Resource>
      T
      post​(java.lang.String href, java.lang.Class<T> type)
      Executes a POST request and returns a Resource.
      void put​(java.lang.String href)
      Executes a PUT request and updates the resource used as the body.
      RequestBuilder setBody​(Resource resource)
      Sets the Resource body for the request.
      RequestBuilder setHeaderParameters​(java.util.Map<java.lang.String,​java.util.List<java.lang.String>> headerParams)
      Sets the header parameters to be used for the request.
      RequestBuilder setQueryParameters​(java.util.Map<java.lang.String,​java.lang.String> queryParams)
      Sets the query parameters to be used for the request.
    • Method Detail

      • setBody

        RequestBuilder setBody​(Resource resource)
        Sets the Resource body for the request.
        Parameters:
        resource - the request body
        Returns:
        the RequestBuilder to allow for chaining methods.
      • addQueryParameter

        RequestBuilder addQueryParameter​(java.lang.String key,
                                         java.lang.String value)
        Adds a query parameter to the request builder.
        Parameters:
        key - the query parameter field name
        value - the query parameter field value
        Returns:
        the RequestBuilder to allow for chaining methods.
      • setQueryParameters

        RequestBuilder setQueryParameters​(java.util.Map<java.lang.String,​java.lang.String> queryParams)
        Sets the query parameters to be used for the request.
        Parameters:
        queryParams - the query parameters to be used for the request
        Returns:
        the RequestBuilder to allow for chaining methods.
      • addHeaderParameter

        RequestBuilder addHeaderParameter​(java.lang.String key,
                                          java.lang.String value)
        Adds a header parameter to the request builder.
        Parameters:
        key - the header parameter field name
        value - the header parameter field value
        Returns:
        the RequestBuilder to allow for chaining methods.
      • addHeaderParameter

        RequestBuilder addHeaderParameter​(java.lang.String key,
                                          java.util.List<java.lang.String> values)
        Adds a header parameter to the request builder.
        Parameters:
        key - the header parameter field name
        values - the header parameter field values
        Returns:
        the RequestBuilder to allow for chaining methods.
      • setHeaderParameters

        RequestBuilder setHeaderParameters​(java.util.Map<java.lang.String,​java.util.List<java.lang.String>> headerParams)
        Sets the header parameters to be used for the request.
        Parameters:
        headerParams - the header parameters to be used for the request
        Returns:
        the RequestBuilder to allow for chaining methods.
      • get

        <T extends Resource> T get​(java.lang.String href,
                                   java.lang.Class<T> type)
        Executes a GET request and returns a Resource.
        Type Parameters:
        T - the Resource type to return
        Parameters:
        href - an absolute or partial HREF
        type - the Resource type to return
        Returns:
        The response payload unmarshalled into a Resource
      • getRaw

        java.io.InputStream getRaw​(java.lang.String href)
        Executes a GET request and returns a raw response.
        Parameters:
        href - an absolute or partial HREF
        Returns:
        The response payload as InputStream
      • put

        void put​(java.lang.String href)
        Executes a PUT request and updates the resource used as the body.
        Parameters:
        href - an absolute or partial HREF
      • post

        <T extends Resource> T post​(java.lang.String href,
                                    java.lang.Class<T> type)
        Executes a POST request and returns a Resource.
        Type Parameters:
        T - the Resource type to return
        Parameters:
        href - an absolute or partial HREF
        type - the Resource type to return
        Returns:
        The response payload unmarshalled into a Resource
      • post

        default void post​(java.lang.String href)
        Executes a POST request.
        Parameters:
        href - an absolute or partial HREF
      • delete

        void delete​(java.lang.String href)
        Executes a DELETE request.
        Parameters:
        href - an absolute or partial HREF