by returning a String instead of an InputStream, you're forcing yourself to read the entire stream into memory.  Depending on the size of the response, your app may crash because it runs out of memory.  Much better to process the stream rather than reading in the entire string, if it can be avoided.