0

抱歉,如果这是一个重复的问题,但谷歌不够聪明,无法理解我,或者我太笨,无法简单地表达我的问题,以至于它可以理解。

我不知道这是否是我的问题,但我有 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 字符串封装在引号中,但这也不起作用,所以我已经没有办法尝试了。

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

4

1 回答 1

0

发现 JSON 对象通常是通过 POST 而不是 GET 发送的。由于我通过 GET 将它附加到 URL,它给我带来了问题。根据如何在查询中发送带有“/”的 GET 请求

于 2012-12-19T02:31:17.550 回答