2016-03-03 32 views
1

我使用RESTful Java client with Jersey client 中給出的示例來練習GET和POST請求。我下載了代碼並嘗試在Eclipse Neon上運行。我使用了Tomcat v8.0。但它沒有給出該演示中解釋的預期輸出。 'GET'請求以JSON格式給出響應,但沒有行作爲「從服務器輸出...」。我在這裏錯過了一點嗎?當我嘗試'POST'請求時,它顯示錯誤HTTP狀態405 - 方法不允許。 屏幕截圖如下。RESTful Services - GET和POST請求不起作用

enter image description here

誰能幫我明白的地方,我在這個問題呢?

在此先感謝!

+0

如何通過在標準輸出上運行控制檯應用程序打印內容來獲得顯示瀏覽器頁面的屏幕截圖?你到底在做什麼? –

+0

我試圖通過'右鍵單擊項目 - >運行 - >在服務器上運行'來運行項目。但是這給了我一個錯誤,因爲'你想保存這個文件(get.json)?'。這就是我在瀏覽器中使用該URL的原因。難道我做錯了什麼? – SR1991

+0

當然:帖子的URL,如其名稱所示,應該使用POST來訪問,而不是GET。本教程包括兩部分內容:一部分服務器部分,運行在wab服務器上,並提供服務(一個可以使用GET,一個使用POST可訪問)和一個客戶端部分,實現爲兩個簡單的可執行類,每個連接到服務器調用REST服務(一個用於GET,一個用於POST)。所以你需要在服務器上部署服務器部分,讓它運行,然後執行兩個主要類(即運行 - >應用程序或類似的東西)來查看控制檯中的輸出。 –

回答

1

看起來URL只支持GET。

嘗試:

curl -XPOST http://localhost:8080/RESTfulExample/rest/json/metallica/post 

這樣看來的是,GET版本(你可以通過用戶在瀏覽器中):

curl -XGET http://localhost:8080/RESTfulExample/rest/json/metallica/get 
0
  1. 通過HTTP GET請求,你是得到你想要的。本教程意味着在「從服務器輸出......」之後的行是服務器發送的內容。

  2. 使用HTTP POST請求,您應該使用一個接口(例如,Chrome瀏覽器的郵遞員擴展,curl命令行客戶端等)發佈內容。僅僅在瀏覽器中連接到POST URL不會實際發佈任何內容到服務器。請參閱關於HTTP GET和HTTP POST請求的維基百科。

+0

謝謝你在這裏指導我!我將閱讀維基百科並開展POST請求。但是,請你告訴我爲什麼有一行System.out.println(「從服務器輸出.... \ n」);在教程代碼中?我們在哪裏可以看到輸出線? – SR1991

+0

呃。在源代碼片段中查找'System.out.println(「Output from Server .... \ n」);''。 –

+0

@Sushma JerseyClientPost類是一個帶有主要方法的簡單類。您執行它(從IDE或命令行),並打印到System.out。就像您在控制檯上執行您的第一個HelloWorld類打印Hello World一樣。 –