import org.apache.http.client.methods.HttpPatch;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.HttpResponse;
import org.apache.commons.io.IOUtils;
import java.util.HashMap;
import java.util.Map;

String url  = "https://reqres.in/api/users/2";
String body = "{\"name\": \"morpheus\", \"job\": \"zion resident\"}";

// Create header map (replace javax.ws.rs with plain Java)
Map headers = new HashMap();
headers.put("Content-Type", "application/json");
headers.put("x-api-key", "reqres-free-v1");

// Create Apache HttpClient
CloseableHttpClient client = HttpClients.createDefault();

// Build PATCH request
HttpPatch patch = new HttpPatch(url);
patch.setEntity(new StringEntity(body, "UTF-8"));

// Add headers
for (Map.Entry entry : headers.entrySet()) {
    patch.setHeader(entry.getKey(), entry.getValue());
}

// Execute request
HttpResponse response = client.execute(patch);

// Read response
String responseString = IOUtils.toString(response.getEntity().getContent(), "UTF-8");

// Log & store result
System.out.println("Response Code: " + response.getStatusLine().getStatusCode());
System.out.println("Response Body: " + responseString);

context.put("restResponse", responseString);

// Close client
client.close();