HttpOperations implements RestOperations { @Override public <T> T execute(final String url, final HttpMethod method, @Nullable final RequestCallback callback, @Nullable final ResponseExtractor<T> extractor, final Object... uriVariables) { final Capture<T> capture = Capture.empty(); return execute(url, method, toEntity(callback), ExtractRoute.extractTo(extractor, capture), capture, uriVariables); } HttpOperations(final Http http); HttpOperations withDefaultRoutingTree(final RoutingTree<Series> defaultRoutingTree); @Override T getForObject(final String url, final Class<T> responseType, final Object... uriVariables); @Override T getForObject(final String url, final Class<T> responseType, final Map<String, ?> uriVariables); @Override T getForObject(final URI url, final Class<T> responseType); @Override ResponseEntity<T> getForEntity(final String url, final Class<T> responseType,
            final Object... uriVariables); @Override ResponseEntity<T> getForEntity(final String url, final Class<T> responseType,
            final Map<String, ?> uriVariables); @Override ResponseEntity<T> getForEntity(final URI url, final Class<T> responseType); @Nonnull @Override HttpHeaders headForHeaders(final String url, final Object... uriVariables); @Nonnull @Override HttpHeaders headForHeaders(final String url, final Map<String, ?> uriVariables); @Nonnull @Override HttpHeaders headForHeaders(final URI url); @Override URI postForLocation(final String url, @Nullable final Object body, final Object... uriVariables); @Override URI postForLocation(final String url, @Nullable final Object body, final Map<String, ?> uriVariables); @Override URI postForLocation(final URI url, @Nullable final Object body); @Override T postForObject(final String url, @Nullable final Object body, final Class<T> responseType,
            final Object... uriVariables); @Override T postForObject(final String url, @Nullable final Object body, final Class<T> responseType,
            final Map<String, ?> uriVariables); @Override T postForObject(final URI url, @Nullable final Object body, final Class<T> responseType); @Nonnull @Override ResponseEntity<T> postForEntity(final String url, @Nullable final Object body,
            final Class<T> responseType, final Object... uriVariables); @Nonnull @Override ResponseEntity<T> postForEntity(final String url, @Nullable final Object body,
            final Class<T> responseType, final Map<String, ?> uriVariables); @Nonnull @Override ResponseEntity<T> postForEntity(final URI url, @Nullable final Object body,
            final Class<T> responseType); @Override void put(final String url, @Nullable final Object body, final Object... uriVariables); @Override void put(final String url, @Nullable final Object body, final Map<String, ?> uriVariables); @Override void put(final URI url, @Nullable final Object body); T patchForObject(final String url, @Nullable final Object body, final Class<T> responseType,
            final Object... uriVariables); T patchForObject(final String url, @Nullable final Object body, final Class<T> responseType,
            final Map<String, ?> uriVariables); T patchForObject(final URI url, @Nullable final Object body, final Class<T> responseType); @Override void delete(final String url, final Object... uriVariables); @Override void delete(final String url, final Map<String, ?> uriVariables); @Override void delete(final URI url); @Nonnull @Override Set<HttpMethod> optionsForAllow(final String url, final Object... uriVariables); @Nonnull @Override Set<HttpMethod> optionsForAllow(final String url, final Map<String, ?> uriVariables); @Nonnull @Override Set<HttpMethod> optionsForAllow(final URI url); @Nonnull @Override ResponseEntity<T> exchange(final String url, final HttpMethod method,
            @Nullable final HttpEntity<?> entity, final Class<T> responseType, final Object... uriVariables); @Nonnull @Override ResponseEntity<T> exchange(final String url, final HttpMethod method,
            @Nullable final HttpEntity<?> entity, final Class<T> responseType, final Map<String, ?> uriVariables); @Nonnull @Override ResponseEntity<T> exchange(final URI url, final HttpMethod method, @Nullable final HttpEntity<?> entity,
            final Class<T> responseType); @Nonnull @Override ResponseEntity<T> exchange(final String url, final HttpMethod method,
            @Nullable final HttpEntity<?> entity, final ParameterizedTypeReference<T> responseType,
            final Object... uriVariables); @Nonnull @Override ResponseEntity<T> exchange(final String url, final HttpMethod method,
            @Nullable final HttpEntity<?> entity, final ParameterizedTypeReference<T> responseType,
            final Map<String, ?> uriVariables); @Nonnull @Override ResponseEntity<T> exchange(final URI url, final HttpMethod method, @Nullable final HttpEntity<?> entity,
            final ParameterizedTypeReference<T> responseType); @Nonnull @Override ResponseEntity<T> exchange(final RequestEntity<?> entity, final Class<T> responseType); @Nonnull @Override ResponseEntity<T> exchange(final RequestEntity<?> entity,
            final ParameterizedTypeReference<T> responseType); @Override T execute(final String url, final HttpMethod method, @Nullable final RequestCallback callback,
            @Nullable final ResponseExtractor<T> extractor, final Object... uriVariables); @Override T execute(final String url, final HttpMethod method, @Nullable final RequestCallback callback,
            @Nullable final ResponseExtractor<T> extractor, final Map<String, ?> uriVariables); @Override T execute(final URI url, final HttpMethod method, @Nullable final RequestCallback callback,
            @Nullable final ResponseExtractor<T> extractor);  }
@Test void shouldExecuteWithoutCallbackOrExtractor() { driver.addExpectation(onRequestTo("/departments/1/users") .withMethod(Method.POST), giveEmptyResponse()); final RestOperations unit = new HttpOperations(http); @Nullable final User user = unit.execute("/departments/{id}/users", POST, null, null, 1); assertNull(user); }