2014-02-21 87 views
0

昨天URL從一個播放(1.2.x的)控制器,我能夠從另一個Play應用程式獲得JSON在同一系統上進行如下:調用一個遊戲框架(1.2.x版本)從另一個

HttpResponse res = WS.url("http://localhost:9006/preferredRoute/pastThirtyDays") 
     .setParameter("origin333", divergenceStation.station333.trim()) 
     .setParameter("originSt", divergenceStation.state) 
     .setParameter("dest333", convergenceStation.station333.trim()) 
     .setParameter("destSt", convergenceStation.state) 
     .post(); 

JsonElement json = res.getJson(); 

在此期間我已經改變了口,路線和參數的名字,但已如下通過get在我的瀏覽整天訪問它:

http://localhost:9029/routes/historical/thirtydays?origin333=HOLLIDAY&originSt=KS&dest333=EMPORIA&destSt=KS&excludeStns=TOPEKA,KS 

(熊記「路線」是一個重載術語,我們這在商業環境中有意義) 但是,當我嘗試訪問它類似於昨天如下所示:

HttpResponse res = WS.url("http://localhost:9029/routes/historical/thirtydays") 
     .setParameter("origin333", origin333) 
     .setParameter("originSt", originSt) 
     .setParameter("dest333", dest333) 
     .setParameter("destSt", destSt) 
     .setParameter("viaStations", viaStations) 
     .setParameter("excludeStns", excludeStns) 
     .post(); 

JsonElement json = res.getJson(); 

對getJson()的調用會導致錯誤,因爲它的404「路由未找到」HTML。我不明白爲什麼沒有找到的路由只在以這種方式調用時才顯示,而不是直接使用get在瀏覽器中。

回答

2

您的路線是如何定義的?

正如您所說,您的瀏覽器將通過GET發出請求,但在您的代碼中您要撥打WS.post()。如果你的路線預計會有GET,那就是你收到404的原因。

+0

你說得對,我的路線正在等待GET。我將它更改爲*,並在測試和確認事情按預期工作後,將接受您的答案 –