public static String generateUrl(String baseUrl, List<UrlParameters> params) { if (params == null) { return baseUrl; } List<String> allParams = new ArrayList<String>(); for (UrlParameters item : params) { if (item != null) { allParams.addAll(item.toUrlParameters()); } } // construct the whole url StringBuilder result = new StringBuilder(baseUrl); Iterator<String> paramsIterator = allParams.iterator(); if (paramsIterator.hasNext()) { result.append("?").append(paramsIterator.next()); while (paramsIterator.hasNext()) { result.append("&").append(paramsIterator.next()); } } return result.toString(); }
public static String generateUrl(String baseUrl, List<UrlParameters> params) { if (params == null) { return baseUrl; } List<String> allParams = new ArrayList<String>(); for (UrlParameters item : params) { if (item != null) { allParams.addAll(item.toUrlParameters()); } } // construct the whole url StringBuilder result = new StringBuilder(baseUrl); Iterator<String> paramsIterator = allParams.iterator(); if (paramsIterator.hasNext()) { result.append("?").append(paramsIterator.next()); while (paramsIterator.hasNext()) { result.append("&").append(paramsIterator.next()); } } return result.toString(); }
@Test public void testToUrlParameters() throws Exception { UrlParameters parameters = new SingleUrlParameters("key"); assertEquals(Collections.singletonList("key"), parameters.toUrlParameters()); parameters = new SingleUrlParameters("key", "value"); assertEquals(Collections.singletonList("key=value"), parameters.toUrlParameters()); parameters = new SingleUrlParameters("key", "value value"); assertEquals(Collections.singletonList("key=value+value"), parameters.toUrlParameters()); } }