我已經寫了RestEasy的彈簧服務Java客戶端請求不同的反應:RestEasy的服務返回的瀏覽器請求和
@Controller
@RequestMapping("/abr/asd")
@Path("/ab/ac")
public class JobSchedulerService {
private static final Logger LOGGER = Logger.getLogger(JobSchedulerService.class);
@GET
@Path("/abc/{param}")
public String scheduleJobs(@PathParam("param") String name) {
return "Success";
}
}
當我嘗試調用從瀏覽器這種服務,響應是正確的:
http://localhost:8080/ControlAppWeb/rest/ab/ac/abc/name
Success
但是當我嘗試CA從REST客戶端API灌裝,它返回一個網頁,這實際上是在那裏我有incoroporated休息服務的Web應用程序的歡迎頁面:
try {
URL url = new URL("http://localhost:8080/WebApp/rest/ab/ac/abc/name");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Accept", "application/json");
if (conn.getResponseCode() != HttpURLConnection.HTTP_OK) {
throw new RuntimeException("Failed! " + conn.getResponseCode());
}
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String output;
System.out.println("Output from Server is: ");
while ((output = br.readLine()) != null) {
System.out.println(output);
}
conn.disconnect();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
請幫助,爲我在調用去錯了地方從Java API
進一步:我試圖從服務中刪除控制器和請求映射註釋,仍然瀏覽器調用工作和Java休息客戶端沒有。奇怪的是,即使我將url修改爲隨機(在java客戶端中)除首字母部分(http:// localhost:8080/ControlAppWeb)之外的任何內容,輸出仍保持不變,並且從不會引發錯誤...
檢查你的cookies瀏覽器,可能是您已經登錄所以瀏覽器請求通常是接受,而您的網址連接尚未 – hoaz
認證@hoaz感謝您的建議...通過登錄頁面,我的意思是歡迎頁面(srry爲的mixup)......但問題仍然存在...也是我試圖從服務端,但無濟於事取出控制器和RequestMapping註釋......還另一件事注意到的是從Java REST客戶端調用的時候,不管是什麼網址我給了,除了INTIAL部分(HTTP://本地主機:8080/ControlAppWeb)...服務輸出總是相同的,即網頁...從來沒有一個錯誤扔了......好心建議。 .. –