public RestfulResponse<JsonRepresentation> execute() { try { if (!args.isEmpty()) { clientRequestConfigurer.configureArgs(args); } final ClientRequest clientRequest = clientRequestConfigurer.getClientRequest(); final Response response = clientRequest.execute(); // this is a bit hacky @SuppressWarnings("unchecked") final BaseClientResponse<String> restEasyResponse = (BaseClientResponse<String>) response; restEasyResponse.setReturnType(String.class); return RestfulResponse.ofT(response); } catch (final Exception ex) { throw new RuntimeException(ex); } }
public <T extends JsonRepresentation> RestfulResponse<T> follow(final ClientExecutor executor, final JsonRepresentation requestArgs) throws Exception { final ClientRequestConfigurer clientRequestConfigurer = ClientRequestConfigurer.create(executor, getHref()); clientRequestConfigurer.accept(MediaType.APPLICATION_JSON_TYPE); clientRequestConfigurer.setHttpMethod(getHttpMethod()); clientRequestConfigurer.configureArgs(requestArgs); final RestfulRequest restfulRequest = new RestfulRequest(clientRequestConfigurer); return restfulRequest.executeT(); }