Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从另一个播放框架调用一个播放框架(1.2.x)URL_Java_Json_Playframework_Routing_Playframework 1.x - Fatal编程技术网

Java 从另一个播放框架调用一个播放框架(1.2.x)URL

Java 从另一个播放框架调用一个播放框架(1.2.x)URL,java,json,playframework,routing,playframework-1.x,Java,Json,Playframework,Routing,Playframework 1.x,昨天,通过一个Play(1.2.x)控制器,我能够从同一系统上的另一个Play应用程序获取JSON,如下所示: HttpResponse res = WS.url("http://localhost:9006/preferredRoute/pastThirtyDays") .setParameter("origin333", divergenceStation.station333.trim()) .setParameter("originSt", diverge

昨天,通过一个Play(1.2.x)控制器,我能够从同一系统上的另一个Play应用程序获取JSON,如下所示:

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();
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();
同时,我更改了端口、路由和参数名称,但整天都在通过浏览器中的get访问它,如下所示:

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();
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();
(请记住,“路线”对我们来说是一个超载的术语,在商业环境中具有含义) 但是,当我尝试访问类似于昨天的内容时,如下所示:

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();
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“route not found”HTML。我不明白为什么route not found仅在以这种方式调用时显示,而不是直接使用浏览器中的get。

您的路由是如何定义的


正如您所说,您的浏览器将通过GET发出请求,但在您的代码中您正在调用
WS.post()
。如果您的路线需要GET,那么这就是为什么您需要404。

您是对的,我的路线需要GET。我将其更改为*并且在测试和确认事情按预期工作后,将接受您的答案