REST client:
import org.apache.commons.lang3.StringUtils;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.MediaType;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.client.RestTemplate;
import com.ns.model.UdsTransactionRequest;
import com.ns.model.UfsReferenceNumber;
import com.ns.model.notification.UfsPipeline;
import com.ns.service.ServiceResponse;
@SuppressWarnings("unchecked")
private void testGet2() {
RestTemplate restTemplate = new RestTemplate();
Long txId = 123456789L;
String[] array = {"6B","EL","SO","RN","KK"};
String url = "http://localhost:8080/transaction/references/pipeline/{txId}/?types={types}";
ServiceResponse<UfsReferenceNumber> response = restTemplate.getForObject(url, ServiceResponse.class, txId, StringUtils.join(array, ","));
List<UfsReferenceNumber> results = response.getData();
if (results != null && !results.isEmpty()) {
for (UfsReferenceNumber a : results) {
System.out.println("---------------- ID: " + a.getId().getRefNum());
}
}
System.out.println("---------------- END testGet2------------------");
}
This gives the URL:
http://localhost:8080/transaction/references/pipeline/123456789/?types=6B,EL,SO,RN,KK
The “request.getParameter(“types”);” gets the values from URL “types=6B,EL,SO,RN,KK”.
REST endpoint:
@RequestMapping(value = "/references/pipeline/{txId}/", method = RequestMethod.GET)
public ServiceResponse<UfsReferenceNumber> getReferences(@PathVariable String txId, HttpServletRequest request) {
ServiceResponse<UfsReferenceNumber> response = new ServiceResponse<>();
String typesCsv = request.getParameter("types");
List<String> types = null;
List<UfsReferenceNumber> references = null;
if (null != typesCsv && 0 != typesCsv.length()) {
types = Arrays.asList(typesCsv.split(","));
}
try {
references = repo.getTxnReferenceNumbers(new Long(txId), types);
if (null != references && !references.isEmpty()) {
response.setData(references);
}
} catch (Exception e) {
}
return response;
}