में प्रतिक्रिया शरीर पढ़ें। अब तक सब कुछ ठीक काम करता है।अपने Android एप्लिकेशन में सभी बाकी अनुरोध/RestTemplate वस्तु के लिए प्रतिक्रियाओं लॉग इन करने के लिए एक सरल स्प्रिंग इंटरसेप्टर वर्ग का उपयोग कर रहा एक Android स्प्रिंग इंटरसेप्टर
public class LoggerInterceptor implements ClientHttpRequestInterceptor {
@Override
public ClientHttpResponse intercept(HttpRequest request, byte[] body,
ClientHttpRequestExecution execution) throws IOException {
Log.d(TAG, "Request body: " + new String(body));
// ...more log statements...
ClientHttpResponse response = execution.execute(request, body);
Log.d(TAG, "Response Headers: " + response.getHeaders());
return response;
}
प्रारंभ में मैं फोन:
List<ClientHttpRequestInterceptor> interceptors = new ArrayList<ClientHttpRequestInterceptor>();
LoggerInterceptor loggerInterceptor = new LoggerInterceptor();
interceptors.add(loggerInterceptor);
restTemplate.setInterceptors(interceptors);
हालांकि मैं ऊपर क्योंकि InputStream एक बार सेवन किया और एक IllegalStateException जब यह बाद में फिर से सेवन किया जाता है फेंकता जाता विधि में response.getBody()
प्रवेश नहीं कर सकते। क्या इसके आसपास कोई रास्ता है ताकि मैं प्रतिक्रिया शरीर को भी लॉग कर सकूं?
3.1 वसंत ढांचे का उपयोग या बाद में, यह निश्चित रूप से एक अधिक सुरुचिपूर्ण समाधान है। – Nachi