RestProxy Class

  • java.lang.Object
    • com.azure.core.http.rest.RestProxy

Implements

public final class RestProxy
implements InvocationHandler

RestProxy is a type that creates a proxy implementation for an interface describing REST API methods. It 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.

RestProxy uses the provided HttpPipeline and SerializerAdapter to send HTTP requests and convert response bodies to POJOs.

It also provides methods to send the provided request asynchronously, applying any request policies provided to the HttpClient instance.

RestProxy is useful when you want to create a proxy implementation for an interface describing REST API methods.

Method Summary

Modifier and Type Method and Description
static A create(Class<A> swaggerInterface)

Create a proxy implementation of the provided Swagger interface.

static A create(Class<A> swaggerInterface, HttpPipeline httpPipeline)

Create a proxy implementation of the provided Swagger interface.

static A create(Class<A> swaggerInterface, HttpPipeline httpPipeline, SerializerAdapter serializer)

Create a proxy implementation of the provided Swagger interface.

Object invoke(Object proxy, Method method, Object[] args)
Mono<HttpResponse> send(HttpRequest request, Context contextData)

Send the provided request asynchronously, applying any request policies provided to the HttpClient instance.

Methods inherited from java.lang.Object

Method Details

create

public static A create(Class swaggerInterface)

Create a proxy implementation of the provided 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 create(Class swaggerInterface, HttpPipeline httpPipeline)

Create a proxy implementation of the provided 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 create(Class swaggerInterface, HttpPipeline httpPipeline, SerializerAdapter serializer)

Create a proxy implementation of the provided 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

invoke

public Object invoke(Object proxy, Method method, Object[] args)

Parameters:

proxy
method
args

send

public Mono 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

Applies to