2016-03-03 70 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一样。 –