【发布时间】:2012-07-27 14:28:52
【问题描述】:
给定两个模型:Person,它有任意数量的Jobs,用他的工作列表提交一个新的人的最 REST 方式是什么?
我想到的两个显而易见的选择是使用他的 Jobs 列表对 Person 对象进行 JSON 化。
"{"name":"ngmiceli",
"jobs":[
{"info":"foobar"},
{"info":"lorem ipsum"},
{"info":"ni!"}]}"
将其粘贴在正文中,发送 Post 请求,然后继续。
第二个明显的模型会更加分散。
- 使用
"name"="ngmiceli"发布新人员 - 向该人发布新工作。 (重复 3 次)
这两个操作将分别有一个 API 控制器,但如果此应用程序的目的是工作,并且一个人没有工作就相当没有意义(甚至无效),那么提交庇隆模型有他/她的工作吗?
最后,我阅读了有关批量更新的信息,您可以在其中发送构成第二个选项的 Post 请求列表,但在单个批处理 Post 中。
如果重要的话,请求将由 javascript 生成并在 C# web-api 中处理,并通过实体框架与数据库进行通信。
【问题讨论】:
-
注意:我阅读了this 的帖子,但由于上下文关系,它并没有真正回答我的问题
-
第一个模型很好,前提是你可以接受。
-
一次性完成并没有什么不符合 RESTful 的。我将创建一个方法来消耗人员和工作列表,以将 POST 到服务器的开销降至最低。服务器端我当然会把它分开。
-
将其设为可选。在 PayPal API 中,当获取 Transaction 时,您可以获取整个 User 对象,或者通过简单地传递一个附加参数来获取它的一个简单版本。可能是您可以考虑做的事情吗?
-
我想我担心的是传递这样一个包含列表的综合项目是不安的,但这里的普遍共识是它没有任何问题。谢谢大家;如果我误解了,请告诉我
标签: c# json entity-framework rest asp.net-web-api