2014-02-21 49 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。我将它更改为*,并在测试和确认事情按预期工作后,将接受您的答案 –