Я пытаюсь вызвать вызов для отдыха, используя все остальное. Мой API принимает, "application/json"
как тип контента, и мне нужно установить его в вызове. Я установил тип контента, как указано ниже.настройка типа контента в состоянии покоя
Вариант 1
Response resp1 = given().log().all().header("Content-Type","application/json")
.body(inputPayLoad).when().post(addUserUrl);
System.out.println("Status code - " +resp1.getStatusCode());
Вариант 2
Response resp1 = given().log().all().contentType("application/json")
.body(inputPayLoad).when().post(addUserUrl);
Ответ я получаю "415" (указывает на то, что "Неподдерживаемый тип носителя").
Я пробовал использовать тот же api, используя простой Java-код, и он работает. По какой-то загадочной причине я не получаю ее через RA.
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost(addUserUrl);
StringEntity input = new StringEntity(inputPayLoad);
input.setContentType("application/json");
post.setEntity(input);
HttpResponse response = client.execute(post);
System.out.println(response.getEntity().getContent());
/*
BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
String line = "";
while ((line = rd.readLine()) != null) {
System.out.println("Output -- " +line);
}
Можно ли сравнить заголовки запросов из ваших 2 первых примеров, чтобы запросить заголовки из последнего примера? – spg
Вариант 1: Способ запроса: \t POST Путь запроса: \t http: //10.75.43.46: 7001/supplierapp войны/ПИМ/AddUser Запрос Титулы: \t Параметры запроса: \t Форма PARAMS: \t Путь PARAMS: \t Заголовки: \t \t Content-Type = применение/JSON Cookies: \t \t Вариант 2: метод запроса: \t POST Запрос путь: \t http://10.75.43.46:7001/supplierapp-war/pim/addUser Запрос PARAMS: \t параметры запроса: \t Форма PARAMS: \t Путь PARAMS: \t Заголовки: \t \t Content-Type = применение/JSON Печенье: \t \t –
TechRookie
Запрос посланный HttpClient: Content Type: Content- Тип: application/json Содержание Длина: 203 Содержимое: [email protected] Содержимое Кодировка: null Примечание: Я использовал следующий фрагмент, чтобы получить информацию заголовка от httpClient. System.out.println («Тип контента:» + input.getContentType()); System.out.println («Content Length:» + input.getContentLength()); System.out.println («Содержимое:» + input.getContent()); System.out.println ("content Encoding:" + input.getContentEncoding()); – TechRookie