接口 RestOperations

  • 所有已知实现类:
    RestTemplate

    public interface RestOperations
    Interface specifying a basic set of RESTful operations. Implemented by RestTemplate. Not often used directly, but a useful option to enhance testability, as it can easily be mocked or stubbed.
    从以下版本开始:
    3.0
    作者:
    Arjen Poutsma, Juergen Hoeller
    另请参阅:
    RestTemplate, AsyncRestOperations
    • 方法详细资料

      • getForObject

        <T> T getForObject​(String url,
                           Class<T> responseType,
                           Object... uriVariables)
                    throws RestClientException
        Retrieve a representation by doing a GET on the specified URL. The response (if any) is converted and returned.

        URI Template variables are expanded using the given URI variables, if any.

        参数:
        url - the URL
        responseType - the type of the return value
        uriVariables - the variables to expand the template
        返回:
        the converted object
        抛出:
        RestClientException
      • getForObject

        <T> T getForObject​(String url,
                           Class<T> responseType,
                           Map<String,​?> uriVariables)
                    throws RestClientException
        Retrieve a representation by doing a GET on the URI template. The response (if any) is converted and returned.

        URI Template variables are expanded using the given map.

        参数:
        url - the URL
        responseType - the type of the return value
        uriVariables - the map containing variables for the URI template
        返回:
        the converted object
        抛出:
        RestClientException
      • getForObject

        <T> T getForObject​(URI url,
                           Class<T> responseType)
                    throws RestClientException
        Retrieve a representation by doing a GET on the URL . The response (if any) is converted and returned.
        参数:
        url - the URL
        responseType - the type of the return value
        返回:
        the converted object
        抛出:
        RestClientException
      • getForEntity

        <T> ResponseEntity<T> getForEntity​(String url,
                                           Class<T> responseType,
                                           Object... uriVariables)
                                    throws RestClientException
        Retrieve an entity by doing a GET on the specified URL. The response is converted and stored in an ResponseEntity.

        URI Template variables are expanded using the given URI variables, if any.

        参数:
        url - the URL
        responseType - the type of the return value
        uriVariables - the variables to expand the template
        返回:
        the entity
        抛出:
        RestClientException
        从以下版本开始:
        3.0.2
      • getForEntity

        <T> ResponseEntity<T> getForEntity​(String url,
                                           Class<T> responseType,
                                           Map<String,​?> uriVariables)
                                    throws RestClientException
        Retrieve a representation by doing a GET on the URI template. The response is converted and stored in an ResponseEntity.

        URI Template variables are expanded using the given map.

        参数:
        url - the URL
        responseType - the type of the return value
        uriVariables - the map containing variables for the URI template
        返回:
        the converted object
        抛出:
        RestClientException
        从以下版本开始:
        3.0.2
      • headForHeaders

        HttpHeaders headForHeaders​(String url,
                                   Object... uriVariables)
                            throws RestClientException
        Retrieve all headers of the resource specified by the URI template.

        URI Template variables are expanded using the given URI variables, if any.

        参数:
        url - the URL
        uriVariables - the variables to expand the template
        返回:
        all HTTP headers of that resource
        抛出:
        RestClientException
      • headForHeaders

        HttpHeaders headForHeaders​(String url,
                                   Map<String,​?> uriVariables)
                            throws RestClientException
        Retrieve all headers of the resource specified by the URI template.

        URI Template variables are expanded using the given map.

        参数:
        url - the URL
        uriVariables - the map containing variables for the URI template
        返回:
        all HTTP headers of that resource
        抛出:
        RestClientException
      • postForLocation

        URI postForLocation​(String url,
                            Object request,
                            Object... uriVariables)
                     throws RestClientException
        Create a new resource by POSTing the given object to the URI template, and returns the value of the Location header. This header typically indicates where the new resource is stored.

        URI Template variables are expanded using the given URI variables, if any.

        The request parameter can be a HttpEntity in order to add additional HTTP headers to the request.

        参数:
        url - the URL
        request - the Object to be POSTed (may be null)
        uriVariables - the variables to expand the template
        返回:
        the value for the Location header
        抛出:
        RestClientException
        另请参阅:
        HttpEntity
      • postForLocation

        URI postForLocation​(String url,
                            Object request,
                            Map<String,​?> uriVariables)
                     throws RestClientException
        Create a new resource by POSTing the given object to the URI template, and returns the value of the Location header. This header typically indicates where the new resource is stored.

        URI Template variables are expanded using the given map.

        The request parameter can be a HttpEntity in order to add additional HTTP headers to the request.

        参数:
        url - the URL
        request - the Object to be POSTed (may be null)
        uriVariables - the variables to expand the template
        返回:
        the value for the Location header
        抛出:
        RestClientException
        另请参阅:
        HttpEntity
      • postForLocation

        URI postForLocation​(URI url,
                            Object request)
                     throws RestClientException
        Create a new resource by POSTing the given object to the URL, and returns the value of the Location header. This header typically indicates where the new resource is stored.

        The request parameter can be a HttpEntity in order to add additional HTTP headers to the request.

        参数:
        url - the URL
        request - the Object to be POSTed (may be null)
        返回:
        the value for the Location header
        抛出:
        RestClientException
        另请参阅:
        HttpEntity
      • postForObject

        <T> T postForObject​(String url,
                            Object request,
                            Class<T> responseType,
                            Object... uriVariables)
                     throws RestClientException
        Create a new resource by POSTing the given object to the URI template, and returns the representation found in the response.

        URI Template variables are expanded using the given URI variables, if any.

        The request parameter can be a HttpEntity in order to add additional HTTP headers to the request.

        参数:
        url - the URL
        request - the Object to be POSTed (may be null)
        responseType - the type of the return value
        uriVariables - the variables to expand the template
        返回:
        the converted object
        抛出:
        RestClientException
        另请参阅:
        HttpEntity
      • postForObject

        <T> T postForObject​(String url,
                            Object request,
                            Class<T> responseType,
                            Map<String,​?> uriVariables)
                     throws RestClientException
        Create a new resource by POSTing the given object to the URI template, and returns the representation found in the response.

        URI Template variables are expanded using the given map.

        The request parameter can be a HttpEntity in order to add additional HTTP headers to the request.

        参数:
        url - the URL
        request - the Object to be POSTed (may be null)
        responseType - the type of the return value
        uriVariables - the variables to expand the template
        返回:
        the converted object
        抛出:
        RestClientException
        另请参阅:
        HttpEntity
      • postForObject

        <T> T postForObject​(URI url,
                            Object request,
                            Class<T> responseType)
                     throws RestClientException
        Create a new resource by POSTing the given object to the URL, and returns the representation found in the response.

        The request parameter can be a HttpEntity in order to add additional HTTP headers to the request.

        参数:
        url - the URL
        request - the Object to be POSTed (may be null)
        responseType - the type of the return value
        返回:
        the converted object
        抛出:
        RestClientException
        另请参阅:
        HttpEntity
      • postForEntity

        <T> ResponseEntity<T> postForEntity​(String url,
                                            Object request,
                                            Class<T> responseType,
                                            Object... uriVariables)
                                     throws RestClientException
        Create a new resource by POSTing the given object to the URI template, and returns the response as ResponseEntity.

        URI Template variables are expanded using the given URI variables, if any.

        The request parameter can be a HttpEntity in order to add additional HTTP headers to the request.

        参数:
        url - the URL
        request - the Object to be POSTed (may be null)
        uriVariables - the variables to expand the template
        返回:
        the converted object
        抛出:
        RestClientException
        从以下版本开始:
        3.0.2
        另请参阅:
        HttpEntity
      • postForEntity

        <T> ResponseEntity<T> postForEntity​(String url,
                                            Object request,
                                            Class<T> responseType,
                                            Map<String,​?> uriVariables)
                                     throws RestClientException
        Create a new resource by POSTing the given object to the URI template, and returns the response as HttpEntity.

        URI Template variables are expanded using the given map.

        The request parameter can be a HttpEntity in order to add additional HTTP headers to the request.

        参数:
        url - the URL
        request - the Object to be POSTed (may be null)
        uriVariables - the variables to expand the template
        返回:
        the converted object
        抛出:
        RestClientException
        从以下版本开始:
        3.0.2
        另请参阅:
        HttpEntity
      • put

        void put​(String url,
                 Object request,
                 Object... uriVariables)
          throws RestClientException
        Create or update a resource by PUTting the given object to the URI.

        URI Template variables are expanded using the given URI variables, if any.

        The request parameter can be a HttpEntity in order to add additional HTTP headers to the request.

        参数:
        url - the URL
        request - the Object to be PUT (may be null)
        uriVariables - the variables to expand the template
        抛出:
        RestClientException
        另请参阅:
        HttpEntity
      • put

        void put​(String url,
                 Object request,
                 Map<String,​?> uriVariables)
          throws RestClientException
        Creates a new resource by PUTting the given object to URI template.

        URI Template variables are expanded using the given map.

        The request parameter can be a HttpEntity in order to add additional HTTP headers to the request.

        参数:
        url - the URL
        request - the Object to be PUT (may be null)
        uriVariables - the variables to expand the template
        抛出:
        RestClientException
        另请参阅:
        HttpEntity
      • delete

        void delete​(String url,
                    Object... uriVariables)
             throws RestClientException
        Delete the resources at the specified URI.

        URI Template variables are expanded using the given URI variables, if any.

        参数:
        url - the URL
        uriVariables - the variables to expand in the template
        抛出:
        RestClientException
      • exchange

        <T> ResponseEntity<T> exchange​(String url,
                                       HttpMethod method,
                                       HttpEntity<?> requestEntity,
                                       Class<T> responseType,
                                       Object... uriVariables)
                                throws RestClientException
        Execute the HTTP method to the given URI template, writing the given request entity to the request, and returns the response as ResponseEntity.

        URI Template variables are expanded using the given URI variables, if any.

        参数:
        url - the URL
        method - the HTTP method (GET, POST, etc)
        requestEntity - the entity (headers and/or body) to write to the request may be null)
        responseType - the type of the return value
        uriVariables - the variables to expand in the template
        返回:
        the response as entity
        抛出:
        RestClientException
        从以下版本开始:
        3.0.2
      • exchange

        <T> ResponseEntity<T> exchange​(String url,
                                       HttpMethod method,
                                       HttpEntity<?> requestEntity,
                                       Class<T> responseType,
                                       Map<String,​?> uriVariables)
                                throws RestClientException
        Execute the HTTP method to the given URI template, writing the given request entity to the request, and returns the response as ResponseEntity.

        URI Template variables are expanded using the given URI variables, if any.

        参数:
        url - the URL
        method - the HTTP method (GET, POST, etc)
        requestEntity - the entity (headers and/or body) to write to the request (may be null)
        responseType - the type of the return value
        uriVariables - the variables to expand in the template
        返回:
        the response as entity
        抛出:
        RestClientException
        从以下版本开始:
        3.0.2
      • exchange

        <T> ResponseEntity<T> exchange​(URI url,
                                       HttpMethod method,
                                       HttpEntity<?> requestEntity,
                                       Class<T> responseType)
                                throws RestClientException
        Execute the HTTP method to the given URI template, writing the given request entity to the request, and returns the response as ResponseEntity.
        参数:
        url - the URL
        method - the HTTP method (GET, POST, etc)
        requestEntity - the entity (headers and/or body) to write to the request (may be null)
        responseType - the type of the return value
        返回:
        the response as entity
        抛出:
        RestClientException
        从以下版本开始:
        3.0.2
      • exchange

        <T> ResponseEntity<T> exchange​(String url,
                                       HttpMethod method,
                                       HttpEntity<?> requestEntity,
                                       ParameterizedTypeReference<T> responseType,
                                       Object... uriVariables)
                                throws RestClientException
        Execute the HTTP method to the given URI template, writing the given request entity to the request, and returns the response as ResponseEntity. The given ParameterizedTypeReference is used to pass generic type information:
         ParameterizedTypeReference<List<MyBean>> myBean = new ParameterizedTypeReference<List<MyBean>>() {};
         ResponseEntity<List<MyBean>> response = template.exchange("https://example.com",HttpMethod.GET, null, myBean);
         
        参数:
        url - the URL
        method - the HTTP method (GET, POST, etc)
        requestEntity - the entity (headers and/or body) to write to the request (may be null)
        responseType - the type of the return value
        uriVariables - the variables to expand in the template
        返回:
        the response as entity
        抛出:
        RestClientException
        从以下版本开始:
        3.2
      • exchange

        <T> ResponseEntity<T> exchange​(String url,
                                       HttpMethod method,
                                       HttpEntity<?> requestEntity,
                                       ParameterizedTypeReference<T> responseType,
                                       Map<String,​?> uriVariables)
                                throws RestClientException
        Execute the HTTP method to the given URI template, writing the given request entity to the request, and returns the response as ResponseEntity. The given ParameterizedTypeReference is used to pass generic type information:
         ParameterizedTypeReference<List<MyBean>> myBean = new ParameterizedTypeReference<List<MyBean>>() {};
         ResponseEntity<List<MyBean>> response = template.exchange("https://example.com",HttpMethod.GET, null, myBean);
         
        参数:
        url - the URL
        method - the HTTP method (GET, POST, etc)
        requestEntity - the entity (headers and/or body) to write to the request (may be null)
        responseType - the type of the return value
        uriVariables - the variables to expand in the template
        返回:
        the response as entity
        抛出:
        RestClientException
        从以下版本开始:
        3.2
      • exchange

        <T> ResponseEntity<T> exchange​(URI url,
                                       HttpMethod method,
                                       HttpEntity<?> requestEntity,
                                       ParameterizedTypeReference<T> responseType)
                                throws RestClientException
        Execute the HTTP method to the given URI template, writing the given request entity to the request, and returns the response as ResponseEntity. The given ParameterizedTypeReference is used to pass generic type information:
         ParameterizedTypeReference<List<MyBean>> myBean = new ParameterizedTypeReference<List<MyBean>>() {};
         ResponseEntity<List<MyBean>> response = template.exchange("https://example.com",HttpMethod.GET, null, myBean);
         
        参数:
        url - the URL
        method - the HTTP method (GET, POST, etc)
        requestEntity - the entity (headers and/or body) to write to the request (may be null)
        responseType - the type of the return value
        返回:
        the response as entity
        抛出:
        RestClientException
        从以下版本开始:
        3.2
      • exchange

        <T> ResponseEntity<T> exchange​(RequestEntity<?> requestEntity,
                                       Class<T> responseType)
                                throws RestClientException
        Execute the request specified in the given RequestEntity and return the response as ResponseEntity. Typically used in combination with the static builder methods on RequestEntity, for instance:
         MyRequest body = ...
         RequestEntity request = RequestEntity.post(new URI("https://example.com/foo")).accept(MediaType.APPLICATION_JSON).body(body);
         ResponseEntity<MyResponse> response = template.exchange(request, MyResponse.class);
         
        参数:
        requestEntity - the entity to write to the request
        responseType - the type of the return value
        返回:
        the response as entity
        抛出:
        RestClientException
        从以下版本开始:
        4.1
      • exchange

        <T> ResponseEntity<T> exchange​(RequestEntity<?> requestEntity,
                                       ParameterizedTypeReference<T> responseType)
                                throws RestClientException
        Execute the request specified in the given RequestEntity and return the response as ResponseEntity. The given ParameterizedTypeReference is used to pass generic type information:
         MyRequest body = ...
         RequestEntity request = RequestEntity.post(new URI("https://example.com/foo")).accept(MediaType.APPLICATION_JSON).body(body);
         ParameterizedTypeReference<List<MyResponse>> myBean = new ParameterizedTypeReference<List<MyResponse>>() {};
         ResponseEntity<List<MyResponse>> response = template.exchange(request, myBean);
         
        参数:
        requestEntity - the entity to write to the request
        responseType - the type of the return value
        返回:
        the response as entity
        抛出:
        RestClientException
        从以下版本开始:
        4.1