import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
+import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;
return restTemplate.exchange(dmiResourceUrl, HttpMethod.PUT, httpEntity, Object.class);
}
+ /**
+ * Sends POST operation to DMI with json body containing module references.
+ * @param dmiResourceUrl dmi resource url
+ * @param jsonData json data body
+ * @param httpHeaders http headers
+ * @return response entity of type String
+ */
+ public ResponseEntity<String> postOperationWithJsonData(final String dmiResourceUrl,
+ final String jsonData,
+ final HttpHeaders httpHeaders) {
+ final var httpEntity = new HttpEntity<>(jsonData, configureHttpHeaders(httpHeaders));
+ return restTemplate.postForEntity(dmiResourceUrl, httpEntity, String.class);
+ }
+
private HttpHeaders configureHttpHeaders(final HttpHeaders httpHeaders) {
httpHeaders.setBasicAuth(dmiProperties.getAuthUsername(), dmiProperties.getAuthPassword());
+ httpHeaders.setContentType(MediaType.APPLICATION_JSON);
return httpHeaders;
}
+
+ /**
+ * Sends POST operation to DMI.
+ * @param dmiResourceUrl dmi resource url
+ * @param httpHeaders http headers
+ * @return response entity of type String
+ */
+ public ResponseEntity<String> postOperation(final String dmiResourceUrl, final HttpHeaders httpHeaders) {
+ final var httpEntity = new HttpEntity<>(configureHttpHeaders(httpHeaders));
+ return restTemplate.exchange(dmiResourceUrl, HttpMethod.POST, httpEntity, String.class);
+ }
}
\ No newline at end of file