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;
private RestTemplate restTemplate;
private DmiProperties dmiProperties;
+ /**
+ * Constructor injection for DmiRestClient objects.
+ *
+ * @param restTemplate the rest template
+ * @param dmiProperties the DMI properties
+ */
public DmiRestClient(final RestTemplate restTemplate, final DmiProperties dmiProperties) {
this.restTemplate = restTemplate;
this.dmiProperties = dmiProperties;
}
- public ResponseEntity<Object> putOperationWithJsonData(final String dmiResourceUrl,
- final String jsonData, final HttpHeaders headers) {
- final var httpEntity = new HttpEntity<>(jsonData, configureHttpHeaders(headers));
- 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<Object> postOperationWithJsonData(final String dmiResourceUrl,
+ final String jsonData,
+ final HttpHeaders httpHeaders) {
+ final var httpEntity = new HttpEntity<>(jsonData, configureHttpHeaders(httpHeaders));
+ return restTemplate.postForEntity(dmiResourceUrl, httpEntity, Object.class);
}
private HttpHeaders configureHttpHeaders(final HttpHeaders httpHeaders) {
httpHeaders.setBasicAuth(dmiProperties.getAuthUsername(), dmiProperties.getAuthPassword());
+ httpHeaders.setContentType(MediaType.APPLICATION_JSON);
return httpHeaders;
}
-}
\ No newline at end of file
+
+ /**
+ * Sends POST operation to DMI.
+ * @param dmiResourceUrl dmi resource url
+ * @param httpHeaders http headers
+ * @return response entity of type String
+ */
+ public ResponseEntity<Object> postOperation(final String dmiResourceUrl, final HttpHeaders httpHeaders) {
+ final var httpEntity = new HttpEntity<>(configureHttpHeaders(httpHeaders));
+ return restTemplate.exchange(dmiResourceUrl, HttpMethod.POST, httpEntity, Object.class);
+ }
+}