2013-03-27 7 views
8

मैं स्प्रिंग फ्रेमवर्क से RestTemplate के साथ जावा में एक आरईएसटी क्लाइंट बना रहा हूं।RestTemplate postForLocation से STRING प्रतिक्रिया कैसे प्राप्त करें?

सब कुछ ठीक है जब तक मुझे पोस्टफोरोकेशन के साथ कोई पोस्ट नहीं करना है।

मेरे पास पहुंचने वाली webservice पोस्ट कार्रवाई के बारे में जानकारी के साथ एक जेसन लौटा रही है।

PHP में यह ठीक है लेकिन मुझे वास्तव में समझ में नहीं आता कि जावा में RestTemplate के साथ कैसे करना है।

public String doLogin() 
    { 
     Map<String, String> args = new HashMap<String, String>(); 

     args.put("email", AUTH_USER); 
     args.put("token", AUTH_PASS); 

     String result = restTemplate.postForLocation(API_URL + "account/authenticate/?email={email}&token={token}", String.class, args); 

     return result; 
    } 

यह शून्य देता है।

उसी कोड के साथ लेकिन का उपयोग करके FFObject (और निश्चित रूप से, कुछ सही करने के लिए यूआरएल बदलना) मेरे पास पूर्ण प्रतिक्रिया है।

तो ... पोस्टफ़ोरेशन से RESPONSE कैसे प्राप्त करें?

Obs .: क्षमा करें अगर यह सवाल गूंगा है। मैं जावा

+1

आपको "उत्तर" को उत्तर के रूप में पोस्ट करना चाहिए। – Jaanus

+0

धन्यवाद ... पहली बार मुझे ऐसा करने की ज़रूरत है:] – Alexandre

उत्तर

1

जवाब मैं समझ गए होंगे कि कैसे किसी कारण मैं नक्शे के साथ तर्क का उपयोग नहीं कर सकते हैं और उन्हें डाल करने के लिए है के लिए postForObject

String result = restTemplate.postForObject(API_URL + "account/authenticate/?email="+ AUTH_USER +"&token="+ AUTH_PASS, null, String.class); 

का उपयोग करके वसंत के साथ एक पोस्ट से प्रतिक्रिया मिल में से एक के लिए धन्यवाद यूआरएल में इनलाइन। लेकिन यह मेरे लिए ठीक है।

+0

मुझे प्रतिक्रिया के रूप में एक स्ट्रिंग सरणी मिलती है, मैं यह एलेक्स कैसे प्राप्त करूं? – SAR

+0

हाय @ एंटनी, देर से प्रतिक्रिया के लिए खेद है। असल में मुझे एक स्ट्रिंग ऐरे भी प्रतिक्रिया के रूप में मिला है। इस सवाल में मुझे लगता है कि आप यह समझ सकते हैं कि मैंने कैसे बनाया: http://stackoverflow.com/questions/16656938/parsing-json-string-as-simple-as-possible-with-gson – Alexandre

+0

मैंने यह किया है, मैं बाहर रखे हुए उलझन में था, यह PHP धारावाहिक स्ट्रिंग है और मुझे php serializer का उपयोग कर जावा में कनवर्ट करना है। धन्यवाद – SAR

7

postForLocation विधि स्थान शीर्षलेख के लिए मान देता है। आपको postForObject का उपयोग करना चाहिए, जो सर्वर की प्रतिक्रिया देता है।

इस तरह

तो:

String result = restTemplate.postForObject(API_URL + "account/authenticate/?email={email}&token={token}", String.class, args); 

यह एक स्ट्रिंग के रूप में प्रतिक्रिया वापस आ जाएगी।

+0

टिप के लिए धन्यवाद। फिर भी, आपका कोड गलत होना चाहिए (यहां एक त्रुटि संदेश मिला है), लेकिन मैंने अभी पता लगाया है और मेरे प्रश्न को उत्तर के साथ संपादित किया है। धन्यवाद! – Alexandre

+0

आपका स्वागत है! (त्रुटि के लिए खेद है) –

संबंधित मुद्दे