当我发出请求时,我得到了XML响应,但是我需要的是JSON。在文档中进行了说明,以获取JSON作为回报:使用Accept: application/jsonHTTP标头。
Accept: application/json
在哪里可以找到HTTP标头Accept: application/json?
我的猜测是它不是应该位于URL请求中,它看起来像:
http://localhost:8080/otp/routers/default/plan?fromPlace=52.5895,13.2836&toPlace=52.5461,13.3588&date=2017/04/04&time=12:00:00
您猜对了,HTTP标头不是URL的一部分。
而且,当您在浏览器中键入URL时,将使用标准标头发出请求。无论如何,不要通过在浏览器的地址栏中键入终结点来使用REST Apis。
最常见的情况是您的服务器使用了第三方REST Api。
为此,您的服务器端代码会 伪造 一个正确的GET(/ PUT / POST / DELETE)请求,该请求指向给定的端点(URL)设置(在需要时,如您的情况一样)一些 标头 ,最后(也许)发送一些数据(如通常发生在POST请求中)。
伪造请求,发送请求并最终获得响应的代码取决于您的服务器端语言。
如果要 测试 REST Api,则可以 curl 从命令行使用工具。
curl
curl 发出请求并将响应输出到stdout(除非另有指示)。
在您的情况下,将按以下方式发出测试请求:
$curl -H "Accept: application/json" 'http://localhost:8080/otp/routers/default/plan?fromPlace=52.5895,13.2836&toPlace=52.5461,13.3588&date=2017/04/04&time=12:00:00'
的H或--header指令集的头和它的值。
H
--header