【问题标题】:Can I make my OData request in JSON format?我可以以 JSON 格式发出我的 OData 请求吗?
【发布时间】:2013-07-16 10:08:47
【问题描述】:

我知道OData 支持responding in JSON format,只要它有适当的Accept 标头:

Accept: application/json

有些文章说您需要指定 odata 详细程度,否则您将获得默认的 xml 格式,但我还没有看到这实际上是真的。但还是让我提一下吧:

Accept: application/json;odata=verbose

但是(如何)我可以使用 JSON 而不是查询字符串来提出我的请求

【问题讨论】:

    标签: ajax json request query-string odata


    【解决方案1】:

    OData 不提供在请求正文中指定查询的方法,它仅支持 URL 中的查询。所以答案是在 JSON 中没有办法做到这一点。请注意,它适用于 GET 请求。修改请求(POST/PUT/...)确实接受 JSON 作为有效负载(例如,通常表示实体),在这种情况下,只需在其 Content-Type 标头中指定请求的内容类型。

    有一些 java 脚本库可让您使用更结构化的代码(与仅字符串相比)构建查询字符串。比如datajshttp://datajs.codeplex.com/

    【讨论】:

    • 很抱歉造成混乱;我不介意发帖。您能否编辑您的答案以包含有关如何格式化 JSON 请求的示例?
    • 是的,这正是我在原始问题中发布的内容。除非我忽略了一些事情,否则这没有关于请求的信息,只有关于响应的信息。
    • 对不起 - 我错过了。看看这个:odata.org/documentation/odata-v3-documentation/…。 JSON Verbose 格式在 V3 和 V2 中实际上是相同的(只有非常小的变化)。本文档还描述了请求和响应之间的区别。
    • 谢谢。我会试试这个。
    猜你喜欢
    • 2014-08-15
    • 2018-12-25
    • 1970-01-01
    • 2011-01-20
    • 2017-10-05
    • 1970-01-01
    • 2016-12-15
    • 2010-10-03
    • 1970-01-01
    相关资源
    最近更新 更多