【发布时间】:2013-12-06 11:34:17
【问题描述】:
我一直在寻找以下问题的答案,但到目前为止还没有找到答案。
- OData 标准是否支持执行包含实体对象和子实体对象的 POST 请求?
- 如果支持,ASP.NET MVC Web Api OData 框架 (
EntitySetController) 是否支持开箱即用?
我想到的场景类似于以下内容。您有一个 Parent 对象,其中包含多个 Child 对象。然后你能用这样的身体做一个 POST 吗?
{ "Property1" : "Property value", "Property2" : 100
"Children" : [
{ "ChildProperty" : "Some value" },
{ "ChildProperty" : "Some other value" },
{ "ChildProperty" : "Some third value" }
]
}
另外,如果我以后想通过发布单个孩子将另一个孩子添加到Parent 对象,是否有标准化的方式将它们链接在一起?像
{ "ChildProperty" : "Fourth child property val", "Parent" : 321 }
“321”是父对象的 ID?
非常感谢您的任何指点!
【问题讨论】:
-
你能分享 URL 以及你想在哪里发布有效负载吗?
-
好吧,因为这是一个假设的例子,我没有实际的 URL,但我想它会像 www.mysite.com/odata/parents。 IE。我将在其中发布一个没有子对象的新父对象的相同 URL(这已经很好了)。
-
当你说复杂对象时,我最初感到困惑。理想情况下,您应该将其称为实体对象,因为只有 OData 中的实体是可直接寻址的。我在下面添加了一个答案。
-
我明白了。术语的混淆可能解释了为什么我在谷歌上也找不到任何东西。我会更新我的问题,以免混淆未来的读者。
标签: json asp.net-web-api odata