【问题标题】:How to send a unix path as part of a JSON object to a web service via GET如何通过 GET 将 unix 路径作为 JSON 对象的一部分发送到 Web 服务
【发布时间】:2012-12-13 01:48:34
【问题描述】:

对不起,如果这是一个重复的问题,但谷歌不够聪明,无法理解我,或者我太笨,无法简单地表达我的问题以使其理解。

我不知道这是否是我的问题,但我有 90% 的把握就是这样。 我想知道如何在 GET 请求中表示 Unix 路径,以便我的 Web 服务不返回 404。我认为这是因为查询中的 JSON 字段之一是 Unix 路径,并且由于斜杠,网络服务认为它是 URL 的一部分,而不是我的查询的一部分。

例如,我正在使用作为 Mozilla 的附加组件的 RESTClient 来测试我的 Web 服务。对于 POST 请求,我输入为 url

http://mytestserver:8080/mydir/

在正文中,我放入了我的 JSON 对象

{"文件名":"obit.jpg", "路径":"test/2/1"}

这个方法很好用。我得到一个状态码 200 和一个带有预期输出的返回 JSON 对象。

当我对 GET 请求使用相同的字符串时,我得到一个状态码 404 并且没有返回 JSON 对象。我在 RESTClient 中作为 url 放置

http://mytestserver:8080/mydir/{"filename":"obit.jpg", "Path":"test/2/1"}

我得到一个状态码 404 并且响应正文只是说 404 - 未找到

为了进一步测试我的理论,我在 GET 请求中输入了以下 url,从路径中删除了 /2/1,这很有效。

http://mytestserver:8080/mydir/{"filename":"obit.jpg", "Path":"test"}

我已经尝试将整个 JSON 字符串封装在引号中,但这也没有用,所以我已经没有办法尝试了。

提前感谢您能给我的任何帮助。如果我需要显示一些代码,请告诉我,虽然,我不认为这是一个代码问题,我认为这是一个表示问题。谢谢。

【问题讨论】:

标签: java web-services rest get


【解决方案1】:

发现 JSON 对象通常通过 POST 而不是 GET 发送。由于我通过 GET 将它附加到 URL,它给我带来了问题。每How to send a GET request with a "/" in the query

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-05
    • 1970-01-01
    • 1970-01-01
    • 2016-01-30
    • 2016-12-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多