【问题标题】:RESTful Services - GET and POST requests not workingRESTful 服务 - GET 和 POST 请求不起作用
【发布时间】:2016-03-03 21:56:35
【问题描述】:

我正在使用RESTful Java client with Jersey client 中给出的示例 练习 GET 和 POST 请求。我下载了代码并尝试在 Eclipse Neon 上运行。我使用的是 Tomcat v8.0。但它没有给出该演示中解释的预期输出。 “GET”请求以 JSON 格式给出响应,但没有“从服务器输出...”行。我在这里错过了一点吗?当我尝试“POST”请求时,它显示错误 HTTP 状态 405 - 不允许方法。 截图如下。

谁能帮我理解我在这方面出了什么问题?

提前致谢!

【问题讨论】:

  • 如何通过在标准输出上运行控制台应用程序打印内容来获得显示浏览器页面的屏幕截图?你到底在做什么?
  • 我尝试通过“右键单击项目 -> 运行方式 -> 在服务器上运行”来运行项目。但这给了我一个错误,因为“你想保存这个文件(get.json)吗?”。这就是我在浏览器中使用该 URL 的原因。我做错了吗?
  • 当然:post URL,顾名思义,应该使用 POST 而不是 GET 访问。本教程涵盖两件事:服务器部分,在 wab 服务器上运行并提供服务(一个可通过 GET 访问,一个可通过 POST 访问),以及客户端部分,实现为两个简单的可执行类,每个都连接到服务器以进行调用 REST 服务(一个用于 GET,一个用于 POST)。所以你需要在服务器上部署服务器部分,让它运行,然后执行两个主要的类(即Run as -> application 或类似的东西)在控制台中看到输出。

标签: java json eclipse web-services rest


【解决方案1】:

URL 似乎只支持 GET。

试试:

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

看起来是 GET 版本(您可以在浏览器中使用):

curl -XGET http://localhost:8080/RESTfulExample/rest/json/metallica/get

【讨论】:

    【解决方案2】:
    1. 通过 HTTP GET 请求,您将得到您想要的。本教程的意思是之后“Output from Server ....”是服务器发送的内容。

    2. 对于 HTTP POST 请求,您应该使用接口发布内容(例如 Chrome 浏览器的 Postman 扩展、curl 命令行客户端等)。仅仅连接到浏览器中的 POST URL 并不会真正向服务器发布任何内容。请参阅有关 HTTP GET 和 HTTP POST 请求的维基百科。

    【讨论】:

    • 感谢您在这里指导我!我将阅读维基百科并处理 POST 请求。但是你能告诉我为什么有一行 System.out.println("Output from Server .... \n");在教程代码中?我们在哪里可以看到该输出行?
    • 呃。在源代码sn-p中查找System.out.println("Output from Server .... \n");
    • @Sushma JerseyClientPost 类是一个带有 main 方法的简单类。您执行它(从 IDE 或命令行),它会打印到 System.out。就像您在控制台上执行第一个 HelloWorld 类打印 Hello World 一样。
    猜你喜欢
    • 1970-01-01
    • 2014-03-01
    • 1970-01-01
    • 2017-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 2017-04-06
    相关资源
    最近更新 更多