Ich versuche, einen Ruheanruf mit Ruhe zu rufen. Meine API akzeptiert, "application/json"
als Inhaltstyp und ich muss in den Anruf setzen. Ich habe den Inhaltstyp wie unten erwähnt festgelegt.Einstellung Inhaltstyp in Ruhe versichert
Option 1
Response resp1 = given().log().all().header("Content-Type","application/json")
.body(inputPayLoad).when().post(addUserUrl);
System.out.println("Status code - " +resp1.getStatusCode());
Option 2
Response resp1 = given().log().all().contentType("application/json")
.body(inputPayLoad).when().post(addUserUrl);
Die Reaktion I erhalten, ist "415" (zeigt an, dass "nicht unterstützten Medientyp").
Ich habe versucht, die gleiche API mit einfachen Java-Code aufrufen und es funktioniert. Aus irgendeinem mysteriösen Grund kann ich es nicht durch RA arbeiten lassen.
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);
}
Wäre es möglich, die Anforderungsheader von Ihren 2 ersten Beispielen zu vergleichen, um Header aus dem letzten Beispiel anzufordern? – spg
Option 1: Anforderungsmethode: \t POST Anforderungsweg: \t http: //10.75.43.46: 7001/supplierapp-Krieg/pim/addUser Anfrage params: \t Abfrage params: \t Formular params: \t Pfad params: \t Headers: \t \t Content-Type = application/json Cookies: \t \t Option 2: Anforderungsmethode: \t POST anfordern Pfad: \t http://10.75.43.46:7001/supplierapp-war/pim/addUser anfordern params: \t Abfrage params: \t Formular params: \t Pfad params: \t Headers: \t \t Content-Type = application/json Cookies: \t \t –
TechRookie
Anfrage von Httpclient gesendet: Content Type: Content- Typ: application/json Länge des Inhalts: 203 Inhalt: [email protected] Inhalt Codierung: null Hinweis: Ich habe folgenden Ausschnitt verwendet, um Header-Informationen von httpClient zu erhalten. System.out.println ("Inhaltstyp:" + input.getContentType()); System.out.println ("Inhaltslänge:" + input.getContentLength()); System.out.println ("Inhalt:" + input.getContent()); System.out.println ("Inhaltscodierung:" + input.getContentEncoding()); – TechRookie