JAVA: POST с учетными данными для конечной точки REST
Я использовал почтальон, чтобы сделать следующее:
- POST-запрос http://localhost:8082/login?username=john&password=abcd
- Я тогда получаю JSESSIONID
Если я использую почтальон, чтобы сделать пост 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);
Но кажется, что это отдельные запросы. Тем не менее, логин тоже не работает. Любая помощь будет большой благодарностью.
Я не против использования Apache HTTP-клиента...