Client client = Client.create(); WebResource webResource = client.resource(baseuri); ClientResponse response = webResource.accept("application/json") .type("application/json").post(ClientResponse.class, input); if (response.getStatus() != 200) { throw new RuntimeException("Failed : HTTP error code : " + response.getStatus()); String output = response.getEntity(String.class); System.out.println("Output from Server .... "); System.out.println(output + "\n");
Client client = Client.create(); WebResource webResource =client.resource("uri"); MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); queryParams.add("json", js); //set parametes for request appKey = "Bearer " + appKey; // appKey is unique number //Get response from RESTful Server get(ClientResponse.class); ClientResponse response = null; response = webResource.queryParams(queryParams) .header("Content-Type", "application/json;charset=UTF-8") .header("Authorization", appKey) .get(ClientResponse.class); String jsonStr = response.getEntity(String.class);
public <T> T getAsJson( Class<T> returnType ) { UriBuilder localUriBuilder = _uriBuilder.clone(); com.sun.jersey.api.client.WebResource resource = _client.resource( localUriBuilder.buildFromMap( _templateAndMatrixParameterValues ) ); com.sun.jersey.api.client.WebResource.Builder resourceBuilder = resource.getRequestBuilder(); resourceBuilder = resourceBuilder.accept( "application/json" ); com.sun.jersey.api.client.ClientResponse response; response = resourceBuilder.method( "GET", com.sun.jersey.api.client.ClientResponse.class ); if ( !com.sun.jersey.api.client.ClientResponse.class.isAssignableFrom( returnType ) ) { if ( response.getStatus() >= 400 ) { throw new PentahoDiPlugin.WebApplicationExceptionMessage( Response.status( response.getClientResponseStatus() ).build() ); } } if ( !com.sun.jersey.api.client.ClientResponse.class.isAssignableFrom( returnType ) ) { return response.getEntity( returnType ); } else { return returnType.cast( response ); } }
@Test public void shouldPickFirstXForwardedHostHeaderValueFromCommaOrCommaAndSpaceSeparatedList() { // when ClientResponse response = client.resource( getManageUri() ) .accept( APPLICATION_JSON ) .header( X_FORWARDED_HOST, "jimwebber.org, kathwebber.com,neo4j.org" ) .get( ClientResponse.class ); // then String entity = response.getEntity( String.class ); assertTrue( entity.contains( "http://jimwebber.org" ) ); assertFalse( entity.contains( "http://localhost" ) ); }
@Override public EurekaHttpResponse<Void> cancel(String appName, String id) { String urlPath = "apps/" + appName + '/' + id; ClientResponse response = null; try { Builder resourceBuilder = jerseyClient.resource(serviceUrl).path(urlPath).getRequestBuilder(); addExtraHeaders(resourceBuilder); response = resourceBuilder.delete(ClientResponse.class); return anEurekaHttpResponse(response.getStatus()).headers(headersOf(response)).build(); } finally { if (logger.isDebugEnabled()) { logger.debug("Jersey HTTP DELETE {}/{}; statusCode={}", serviceUrl, urlPath, response == null ? "N/A" : response.getStatus()); } if (response != null) { response.close(); } } }
Builder builder = client.resource(input.uri).type(input.contentType); if (cr.getStatus() != 204 && cr.hasEntity()) { response.body = extractBody(cr); response.statusCode = cr.getStatus(); response.reasonPhrase = cr.getStatusInfo().getReasonPhrase(); response.headers = cr.getHeaders(); logger.error(String.format("Got unexpected http response - uri: %s, vipAddress: %s, status code: %s", input.getUri(), input.getVipAddress(), cr.getStatus()), ex); if(cr.getStatus() > 199 && cr.getStatus() < 300) { if(cr.getStatus() != 204 && cr.hasEntity()) { return response; }else { String reason = cr.getEntity(String.class); logger.error(reason, ex); throw new Exception(reason);
private <T> T getForEntity(String url, Object[] queryParams, Function<ClientResponse, T> entityProvider, Object... uriVariables) { URI uri = null; ClientResponse clientResponse; try { uri = getURIBuilder(root + url, queryParams).build(uriVariables); clientResponse = client.resource(uri) .accept(MediaType.APPLICATION_JSON, MediaType.TEXT_PLAIN) .get(ClientResponse.class); if (clientResponse.getStatus() < 300) { return entityProvider.apply(clientResponse); } else { throw new UniformInterfaceException(clientResponse); } } catch (UniformInterfaceException e) { handleUniformInterfaceException(e, uri); } catch (RuntimeException e) { handleRuntimeException(e, uri); } return null; }
ClientConfig cc = new DefaultClientConfig(); cc.getProperties().put( ClientConfig.PROPERTY_FOLLOW_REDIRECTS, true); Client c = Client.create(cc); WebResource r = c.resource("https://my_url"); ClientResponse response = r.get(ClientResponse.class); EntityTag e = response.getEntityTag(); String entity = response.getEntity(String.class); System.out.println("The response status is " + response.getStatus()); System.out.println("The enttiy body is " + entity);
public <T> T getAsJson( Class<T> returnType ) { UriBuilder localUriBuilder = _uriBuilder.clone(); com.sun.jersey.api.client.WebResource resource = _client.resource( localUriBuilder.buildFromMap( _templateAndMatrixParameterValues ) ); com.sun.jersey.api.client.WebResource.Builder resourceBuilder = resource.getRequestBuilder(); resourceBuilder = resourceBuilder.accept( "application/json" ); com.sun.jersey.api.client.ClientResponse response; response = resourceBuilder.method( "GET", com.sun.jersey.api.client.ClientResponse.class ); if ( !com.sun.jersey.api.client.ClientResponse.class.isAssignableFrom( returnType ) ) { if ( response.getStatus() >= 400 ) { throw new PentahoDiPlugin.WebApplicationExceptionMessage( Response.status( response.getClientResponseStatus() ).build() ); } } if ( !com.sun.jersey.api.client.ClientResponse.class.isAssignableFrom( returnType ) ) { return response.getEntity( returnType ); } else { return returnType.cast( response ); } }
HttpClient apacheClient = HttpClientBuilder.create().build(); Client client = new Client(new ApacheHttpClient4Handler(apacheClient, new BasicCookieStore(), true)); WebResource webResource = client.resource("http://localhost:8080/path"); ClientResponse response = webResource.accept("application/json") .get(ClientResponse.class);
@Test public void shouldUseXForwardedProtoHeaderWhenPresent() { // when ClientResponse response = client.resource( getManageUri() ) .accept( APPLICATION_JSON ) .header( X_FORWARDED_PROTO, "https" ) .get( ClientResponse.class ); // then String entity = response.getEntity( String.class ); assertTrue( entity.contains( "https://localhost" ) ); assertFalse( entity.contains( "http://localhost" ) ); }
Client client = Client.create(config); String baseURI = getBaseURI(host); WebResource service = client.resource(baseURI); clientResp = service.path("Priam/REST/v1/cassadmin/gossipinfo") .accept(MediaType.APPLICATION_JSON) .get(ClientResponse.class); if (clientResp.getStatus() != 200) return null; textEntity = clientResp.getEntity(String.class);
@Override public EurekaHttpResponse<Void> deleteStatusOverride(String appName, String id, InstanceInfo info) { String urlPath = "apps/" + appName + '/' + id + "/status"; ClientResponse response = null; try { Builder requestBuilder = jerseyClient.resource(serviceUrl) .path(urlPath) .queryParam("lastDirtyTimestamp", info.getLastDirtyTimestamp().toString()) .getRequestBuilder(); addExtraHeaders(requestBuilder); response = requestBuilder.delete(ClientResponse.class); return anEurekaHttpResponse(response.getStatus()).headers(headersOf(response)).build(); } finally { if (logger.isDebugEnabled()) { logger.debug("Jersey HTTP DELETE {}/{}; statusCode={}", serviceUrl, urlPath, response == null ? "N/A" : response.getStatus()); } if (response != null) { response.close(); } } }
public class Test { public static void main(String[] args) { ClientConfig config = new DefaultClientConfig(); Client client = Client.create(config); WebResource service = client.resource(getBaseURI()); // Now do the MAP stuff MyHashMapObject<String, String> map = new MyHashMapObject<String, String>(); map.getMapProperty().put("a", "1"); map.getMapProperty().put("b", "2"); ClientResponse response = service.path("rest").path("hello2") .type(MediaType.APPLICATION_XML) .accept(MediaType.APPLICATION_XML) .post(ClientResponse.class, map); Map<String, String> myMap = response.getEntity(MyHashMapObject.class).getMapProperty(); for(Map.Entry<String, String> entry : myMap.entrySet()) System.out.format("Key: %s, Value: %s\n", entry.getKey(), entry.getValue()); } private static URI getBaseURI() { return UriBuilder.fromUri( "http://localhost:8080/org.nowaq.jersey.first").build(); } }
public <T> T getAsXml( Class<T> returnType ) { UriBuilder localUriBuilder = _uriBuilder.clone(); com.sun.jersey.api.client.WebResource resource = _client.resource( localUriBuilder.buildFromMap( _templateAndMatrixParameterValues ) ); com.sun.jersey.api.client.WebResource.Builder resourceBuilder = resource.getRequestBuilder(); resourceBuilder = resourceBuilder.accept( "application/xml" ); com.sun.jersey.api.client.ClientResponse response; response = resourceBuilder.method( "GET", com.sun.jersey.api.client.ClientResponse.class ); if ( !com.sun.jersey.api.client.ClientResponse.class.isAssignableFrom( returnType ) ) { if ( response.getStatus() >= 400 ) { throw new PentahoDiPlugin.WebApplicationExceptionMessage( Response.status( response.getClientResponseStatus() ).build() ); } } if ( !com.sun.jersey.api.client.ClientResponse.class.isAssignableFrom( returnType ) ) { return response.getEntity( returnType ); } else { return returnType.cast( response ); } }
@Test public void shouldUseXForwardedHostHeaderWhenPresent() { // when ClientResponse response = client.resource( getManageUri() ) .accept( APPLICATION_JSON ) .header( X_FORWARDED_HOST, "jimwebber.org" ) .get( ClientResponse.class ); // then String entity = response.getEntity( String.class ); assertTrue( entity.contains( "http://jimwebber.org" ) ); assertFalse( entity.contains( "http://localhost" ) ); }
ClientConfig config = new DefaultClientConfig(); Client client = Client.create(config); WebResource webResource = client.resource(UriBuilder.fromUri(restprotocol + elastiCenterAddress + restpath).build()); System.out.println("Command Sent " + command + " : " + queryParams); ClientResponse response = webResource.queryParams(queryParams).accept(MediaType.APPLICATION_JSON).get(ClientResponse.class); if (response.getStatus() >= 300) { if (debug) System.out.println("ElastiCenter returned error code : " + response.getStatus()); if (401 == response.getStatus()) { throw new InvalidCredentialsException("Please specify a valid API Key."); } else if (431 == response.getStatus()) { String jsonResponse = response.getEntity(String.class); if (debug) { System.out.println("Command Response : " + jsonResponse);
@Override public EurekaHttpResponse<Void> statusUpdate(String appName, String id, InstanceStatus newStatus, InstanceInfo info) { String urlPath = "apps/" + appName + '/' + id + "/status"; ClientResponse response = null; try { Builder requestBuilder = jerseyClient.resource(serviceUrl) .path(urlPath) .queryParam("value", newStatus.name()) .queryParam("lastDirtyTimestamp", info.getLastDirtyTimestamp().toString()) .getRequestBuilder(); addExtraHeaders(requestBuilder); response = requestBuilder.put(ClientResponse.class); return anEurekaHttpResponse(response.getStatus()).headers(headersOf(response)).build(); } finally { if (logger.isDebugEnabled()) { logger.debug("Jersey HTTP PUT {}/{}; statusCode={}", serviceUrl, urlPath, response == null ? "N/A" : response.getStatus()); } if (response != null) { response.close(); } } }