API REST, не могу поместить "% 20" или "+" в мой URL для пробелов.URL не извлекается - PullRequest
0 голосов
/ 28 сентября 2018

Я получаю сообщение об ошибке: org.springframework.web.client.HttpClientErrorException: 400 null из консоли означает, что мой URL отправил неверный запрос, который сервер не может понять.

Однако всякий раз, когда я помещаю URL-адрес без знаков % 20 или + для пробелов

Пример: http://ksr -ca-qmaltjira.ca.kronos.com: 8061 / rest / api / 2 / search? Jql = project = SUP & maxResults = 2 это работает, и мои данные отображаются на моей локальной странице.

String username = "confidential";
String password = "confidential";

private static final String jiraBaseURL = "http://ksr-ca-qmaltjira.ca.kronos.com:8061/rest/api/search?jql=project%3D%22Customer%20Support%22%20%26%20type%20%3D%20%22Change%20Request%22%20&maxResults=2";
private RestTemplate restTemplate;
private HttpHeaders httpHeaders;





private HttpHeaders createHeadersWithAuthentication() {
    String plainCreds = username + ":" + password;
    byte[] base64CredsBytes = Base64.getEncoder().encode(plainCreds.getBytes());
    String base64Creds = new String(base64CredsBytes);

    HttpHeaders headers = new HttpHeaders();
    headers.add("Authorization", "Basic " + base64Creds);

    return headers;
}




@RequestMapping("/cr-follow-up")
public @ResponseBody ResponseEntity<String> getData()
{
    restTemplate = new RestTemplate();
    httpHeaders = createHeadersWithAuthentication();
    httpHeaders.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON));
    HttpEntity<String> entity = new HttpEntity<String>(httpHeaders);
    ResponseEntity<String> response = restTemplate.exchange(jiraBaseURL, HttpMethod.GET, entity, String.class);

    return response;
}

1 Ответ

0 голосов
/ 28 сентября 2018

Попробуйте кодировать ваш URL с URLEncoder.encode()

...