json - REST API - 使用 "Accept: application/json"HTTP header

标签 json rest request-headers

当我发出请求时,我会收到 XML 格式的响应,但我需要的是 JSON。在文档中说明为了获得 JSON 作为返回:使用 Accept: application/json HTTP Header。

我在哪里可以找到将 Accept: application/json 放入其中的 HTTP header ?

我的猜测是它不应该在 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 header 不是 URL 的一部分。

当您在浏览器中键入 URL 时,将发出带有标准 header 的请求。无论如何,REST API 并不意味着通过在浏览器的地址栏中键入端点来使用。

最常见的情况是您的服务器使用第三方 REST Api。

为此,您的服务器端代码伪造正确的 GET (/PUT/POST/DELETE) 请求指向给定的端点 (URL) 设置(需要时,如您的情况)一些 < strong>headers,最后(也许)发送一些数据(例如通常发生在 POST 请求中)。

伪造请求、发送请求并最终返回响应的代码取决于您的服务器端语言。

如果您想测试 REST Api,您可以使用 curl 命令行工具。

curl 发出请求并将响应输出到标准输出(除非另有说明)。

在您的情况下,测试请求将像这样发出:

$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 指令设置 header 及其值。

关于json - REST API - 使用 "Accept: application/json"HTTP header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43209924/

相关文章:

c# - 从 WCF 发送的响应中删除 utf-8 标识符 (BOM)

reactjs - 如何修复 React-Redux 应用程序中的 431 请求 header 字段过大

javascript - 全局设置请求头

php - 是否可以从 PHP 文件发送 header ,这绝对没有任何作用

Json 解析 F#

c# - Json.NET 可以反序列化 "dynamic"属性吗?

Angular 4动态填充查询参数

rest - 如何使用 REST API 在 TFS 2015 中使用搁置集触发构建

ajax - 'JSON' 仅在 IE 中是未定义的错误

json - 使用 ObjectMapper 和 swift 3 通用化将 JSON 映射到对象的函数