JAVA: POST с учетными данными для конечной точки REST - PullRequest
0 голосов
/ 09 сентября 2018

Я использовал почтальон, чтобы сделать следующее:

Если я использую почтальон для публикации XML

  • POST Body raw XML (text / xml) http://localhost:8082/api/method
  • Не работает, если я не выполню предыдущий пост с именем пользователя и паролем

Хорошо, вышеописанное работает в таком порядке ... Как мне воспроизвести это на Java?

Мне нужно иметь возможность POST для входа в систему, а затем POST мой XML для API

Я пробовал это:

POST для входа в систему

    RestTemplate restTemplate = new RestTemplate();
    HttpHeaders headers = new HttpHeaders();
    headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
    HttpEntity<String> request = new HttpEntity<String>(message, headers);
    ResponseEntity<String> response = restTemplate.postForEntity("http://localhost:8082/login?username=john&password=abcd", request, String.class);

API POST to Rest

    RestTemplate restTemplate = new RestTemplate();
    HttpHeaders headers = new HttpHeaders();
    headers.setContentType(MediaType.APPLICATION_XML);
    HttpEntity<String> request = new HttpEntity<String>(message, headers);
    ResponseEntity<String> response = restTemplate.postForEntity("http://localhost:8082/api/method", request, String.class);

Но похоже, что это отдельные запросы. Тем не менее, логин тоже не работает. Любая помощь будет большой благодарностью.

Я не против использования HTTP-клиента Apache ...

...