Class RestProxy

java.lang.Object
com.azure.core.http.rest.RestProxy
All Implemented Interfaces:
InvocationHandler

public final class RestProxy extends Object implements InvocationHandler
Type to create a proxy implementation for an interface describing REST API methods.

RestProxy can create proxy implementations for interfaces with methods that return deserialized Java objects as well as asynchronous Single objects that resolve to a deserialized Java object.

  • Method Details

    • send

      public Mono<HttpResponse> send(HttpRequest request, Context contextData)
      Send the provided request asynchronously, applying any request policies provided to the HttpClient instance.
      Parameters:
      request - the HTTP request to send
      contextData - the context
      Returns:
      a Mono that emits HttpResponse asynchronously
    • invoke

      public Object invoke(Object proxy, Method method, Object[] args)
      Specified by:
      invoke in interface InvocationHandler
    • create

      public static <A> A create(Class<A> swaggerInterface)
      Create a proxy implementation of the provided Swagger interface.
      Type Parameters:
      A - the type of the Swagger interface
      Parameters:
      swaggerInterface - the Swagger interface to provide a proxy implementation for
      Returns:
      a proxy implementation of the provided Swagger interface
    • create

      public static <A> A create(Class<A> swaggerInterface, HttpPipeline httpPipeline)
      Create a proxy implementation of the provided Swagger interface.
      Type Parameters:
      A - the type of the Swagger interface
      Parameters:
      swaggerInterface - the Swagger interface to provide a proxy implementation for
      httpPipeline - the HttpPipelinePolicy and HttpClient pipeline that will be used to send Http requests
      Returns:
      a proxy implementation of the provided Swagger interface
    • create

      public static <A> A create(Class<A> swaggerInterface, HttpPipeline httpPipeline, SerializerAdapter serializer)
      Create a proxy implementation of the provided Swagger interface.
      Type Parameters:
      A - the type of the Swagger interface.
      Parameters:
      swaggerInterface - the Swagger interface to provide a proxy implementation for
      httpPipeline - the HttpPipelinePolicy and HttpClient pipline that will be used to send Http requests
      serializer - the serializer that will be used to convert POJOs to and from request and response bodies
      Returns:
      a proxy implementation of the provided Swagger interface