Как передать заголовки и тело запроса в запросе POST?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как передать заголовки и тело запроса в запросе POST?

Сообщение Anonymous »

Я использую метод RestTemplate restTemplate.exchange для запроса POST к конечной точке. У меня есть заголовок OAuth и HttpEntity в другом файле, который я хочу передать в запрос POST, в дополнение к этому я также хочу передать запрос в конечную точку.

Мне удалось успешно передать заголовки и запрос, но не HTTP-объект, содержащий учетные данные

ResponseEntity result = restTemplate.exchange(uri, HttpMethod.POST,
new HttpEntity(request, dataRepo.getHeader()), String.class);


Можно ли как-нибудь пройти все три задания
  • HttpEntity
  • HttpHeaders
  • запрос
Вот мой код

@RunWith(MockitoJUnitRunner.class)
@TestPropertySource
public class DataTest {
@Inject
private Oauth oauth;

@Mock
private DataRepo dataRepo;
RestTemplate restTemplate = new RestTemplate();

@Qualifier(OAuth2HttpHeadersBuilder.BEAN_NAME)
NewHttpHeader headersBuilder;

@Test
public void testAddEmployeeSuccess() throws URISyntaxException {

URI uri = new URI(url);
Set mockData = Stream.of("A","B").collect(Collectors.toSet());
String onsString = String.join(",", mockData);

Map requestBody = new HashMap();
requestBody.put("name", onsString);
JSONObject jsonObject = new JSONObject(requestBody);

HttpEntity request = new HttpEntity(jsonObject.toString(), null);

ResponseEntity result = restTemplate.exchange(uri, HttpMethod.POST,
new HttpEntity(request, dataRepo.getHeader()), String.class);

Assert.assertEquals(201, result.getStatusCodeValue());
}


Приведенный ниже код находится в файле NewHttpHeader.java, который содержит
Header и HttpEntity

private HttpEntity getHttpEntity() {
MultiValueMap store = new LinkedMultiValueMap();
store.add( "pas", "password" );
store.add( "name", config.getVaultServiceAccountName() );
return new HttpEntity( store, getHeader() );
}

private HttpHeaders getHeader() {
HttpHeaders httpHeaders = headersBuilder.build();

httpHeaders.add( HttpHeaders.ACCEPT, ContentType.APPLICATION_JSON.getMimeType() );
httpHeaders.add( HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_FORM_URLENCODED.getMimeType() );

return httpHeaders;
}
}


Подробнее здесь: https://stackoverflow.com/questions/599 ... st-request
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»