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; }