Difference between revisions of "GxRest/GxJRS/Requests"
From Gcube Wiki
Manuele.simi (Talk | contribs) (→GXWebTargetAdapterRequest) |
Manuele.simi (Talk | contribs) (→GXWebTargetAdapterRequest) |
||
Line 6: | Line 6: | ||
= GXWebTargetAdapterRequest = | = GXWebTargetAdapterRequest = | ||
− | + | A basic example that sends a Post request to create a new resource: | |
<source lang="Java"> | <source lang="Java"> | ||
import org.gcube.common.gxrest.response.inbound.GXInboundResponse; | import org.gcube.common.gxrest.response.inbound.GXInboundResponse; | ||
Line 13: | Line 13: | ||
import javax.ws.rs.core.MediaType; | import javax.ws.rs.core.MediaType; | ||
− | // | + | //... |
+ | GXWebTargetAdapterRequest request = | ||
+ | GXWebTargetAdapterRequest.newRequest("http://host:port/service/").from("GXRequestTest") | ||
String context ="json serialization (not shown"; | String context ="json serialization (not shown"; | ||
Line 21: | Line 23: | ||
− | GXInboundResponse response = request.path(" | + | GXInboundResponse response = request.path("resource-manager") |
.queryParams(queryParams).withEntity(Entity.entity(context, MediaType.APPLICATION_JSON)).post(); | .queryParams(queryParams).withEntity(Entity.entity(context, MediaType.APPLICATION_JSON)).post(); | ||
if (!response.hasCREATEDCode()) { | if (!response.hasCREATEDCode()) { | ||
Line 39: | Line 41: | ||
} | } | ||
+ | </source> | ||
+ | By default, it attaches to the request the security token available in the current thread. | ||
+ | |||
+ | However, if there is the need to force a specific token to be used, it can be done by invoking the setSecurityToken() method on the request object: | ||
+ | <source lang="Java"> | ||
+ | GXWebTargetAdapterRequest request = | ||
+ | GXWebTargetAdapterRequest.newRequest("http://host:port/service/").from("GXRequestTest") | ||
+ | request.setSecurityToken("my token"); | ||
</source> | </source> |
Revision as of 04:40, 24 April 2018
Introduction
Types of Requests
GXHTTPRequest
GXWebTargetAdapterRequest
A basic example that sends a Post request to create a new resource:
import org.gcube.common.gxrest.response.inbound.GXInboundResponse; import org.gcube.common.gxrest.request.GXWebTargetAdapterRequest; import javax.ws.rs.client.Entity; import javax.ws.rs.core.MediaType; //... GXWebTargetAdapterRequest request = GXWebTargetAdapterRequest.newRequest("http://host:port/service/").from("GXRequestTest") String context ="json serialization (not shown"; Map<String,String> queryParams = new WeakHashMap<>(); queryParams.put("rrURL", DEFAULT_RR_URL); String DEFAULT_RR_URL = "url of resource registry to contact"; GXInboundResponse response = request.path("resource-manager") .queryParams(queryParams).withEntity(Entity.entity(context, MediaType.APPLICATION_JSON)).post(); if (!response.hasCREATEDCode()) { if (response.hasException()) { try { throw response.getException(); } catch (ClassNotFoundException e) { //that's OK, we can tolerate this } catch (Exception e) { e.printStackTrace(); throw e; } } } else { logger.info("Resource successfully created!"); logger.info("Returned message: " + response.getStreamedContentAsString()); }
By default, it attaches to the request the security token available in the current thread.
However, if there is the need to force a specific token to be used, it can be done by invoking the setSecurityToken() method on the request object:
GXWebTargetAdapterRequest request = GXWebTargetAdapterRequest.newRequest("http://host:port/service/").from("GXRequestTest") request.setSecurityToken("my token");