Geri kalanını kullanarak bir dinlenme çağrısı çağırmaya çalışıyorum. Benim API'm, içerik türü olarak "application/json"
kabul ediyor ve aramayı ayarlamam gerekiyor. İçerik türünü aşağıda belirtildiği gibi ayarlıyorum.ayar içeriği geri kalanı güvence altında
Seçenek 1
Response resp1 = given().log().all().header("Content-Type","application/json")
.body(inputPayLoad).when().post(addUserUrl);
System.out.println("Status code - " +resp1.getStatusCode());
Seçenek 2
Response resp1 = given().log().all().contentType("application/json")
.body(inputPayLoad).when().post(addUserUrl);
Elde yanıt "415" olan (gösterir "desteklenmeyen ortam tipi").
Düz java kodunu kullanarak aynı API'yi çalıştırmayı denedim ve çalışıyor. Bazı gizemli nedenlerden ötürü, RA ile çalışamıyorum.
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);
}
Son örneklerden başlıklar istemek için istek başlıklarını ilk iki örneğinizden karşılaştırmak mümkün olabilir mi? – spg
Seçenek 1: İstek yöntemi: \t POST İstek yolu: \t http: //10.75.43.46: 7001/supplierapp savaş/pim/ADDUSER istek parametreleri: \t Sorgu parametreleri: \t Formu parametreleri: \t Yol parametreleri: \t Başlıkları: \t \t Content-Type = application/json Çerezler: \t \t Seçenek 2: ayrıntılı yöntemi: \t SONRASI ayrıntılı yolu: \t http://10.75.43.46:7001/supplierapp-war/pim/addUser ayrıntılı parametreleri: \t Sorgu parametreleri: \t Formu parametreleri: \t Yol parametreleri: \t Başlıkları: \t \t Content-Type = application/json Çerezler: HttpClient tarafından gönderilen \t \t –
TechRookie
İstek: İçerik Türü: İçerik- Tür: application/json İçerik Uzunluğu: 203 İçerik: java.io.Byte[email protected] content Kodlama: null Not: httpClient'ten başlık bilgilerini almak için aşağıdaki snippet'i kullandım. System.out.println ("İçerik Türü:" + input.getContentType()); System.out.println ("İçerik Uzunluğu:" + input.getContentLength()); System.out.println ("İçerik:" + input.getContent()); System.out.println ("content Kodlama:" + input.getContentEncoding()); – TechRookie