मैं बाकी आश्वासन का उपयोग करके एक बाकी कॉल का आह्वान करने की कोशिश कर रहा हूं। मेरा एपीआई "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" है (इंगित करता है कि "असमर्थित मीडिया प्रकार")।
मैंने सादा जावा कोड का उपयोग करके एक ही एपीआई का आह्वान करने की कोशिश की और यह काम करता है। कुछ रहस्यमय कारणों के लिए, मैंने इसे आरए के माध्यम से काम नहीं किया।
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 पोस्ट अनुरोध पथ: \t http: //10.75.43।46: 7001/supplierapp युद्ध/पीआईएम/adduser अनुरोध पैरामीटर: \t क्वेरी पैरामीटर: \t फार्म पैरामीटर: \t पथ पैरामीटर: \t हेडर: \t \t सामग्री प्रकार = आवेदन/json कुकीज़: \t \t विकल्प 2: अनुरोध विधि: \t पोस्ट अनुरोध पथ: \t http://10.75.43.46:7001/supplierapp-war/pim/addUser अनुरोध पैरामीटर: \t क्वेरी पैरामीटर: \t फार्म पैरामीटर: \t पथ पैरामीटर: \t हेडर: \t \t सामग्री प्रकार = आवेदन/json कुकीज़: \t \t –
TechRookie
अनुरोध HttpClient द्वारा भेजे गए: सामग्री प्रकार: सामग्री- टाइप: एप्लिकेशन/जेसन सामग्री की लंबाई: 203 सामग्री: [email protected] सामग्री एन्कोडिंग: शून्य नोट: मैंने httpClient से शीर्षलेख जानकारी प्राप्त करने के लिए निम्न स्निपेट का उपयोग किया। System.out.println ("सामग्री का प्रकार:" + input.getContentType()); System.out.println ("सामग्री की लंबाई:" + input.getContentLength()); System.out.println ("सामग्री:" + input.getContent()); System.out.println ("सामग्री एन्कोडिंग:" + input.getContentEncoding()); – TechRookie