我對使用JAVA進行的特定REST調用有幾個問題。我是新手,所以我從幾個來源拼湊起來。調用本身看起來是這樣的:Java中的REST調用
String src = AaRestCall.subTrackingNum(trackingNum);
的REST調用類看起來是這樣的:
public class AaRestCall {
public static String subTrackingNum (Sting trackingNum) throws IOException {
URL url = new URL("https://.../rest/" + trackingNum);
String query = "{'TRACKINGNUM': trackingNum}";
//make connection
URLConnection urlc = url.openConnection();
//use post mode
urlc.setDoOutput(true);
urlc.setAllowUserInteraction(false);
//send query
PrintStream ps = new PrintStream(urlc.getOutputStream());
ps.print(query);
ps.close();
//get result
BufferedReader br = new BufferedReader(new InputStreamReader(urlc
.getInputStream()));
StringBuilder sb = new StringBuilder();
String line = null;
while ((line=br.readLine())!=null) {
sb.append(line);
}
br.close();
return sb.toString();
}
}
現在,我對上面幾個問題的什麼是錯的這個一般。
1)如果這個休息調用正在返回一個JSON對象,是否會因爲轉到String而搞砸了?
2)解析出返回的JSON的最佳方式是什麼?
3)我不確定如何格式化查詢字段。我認爲這應該記錄在REST API中?
在此先感謝。