通过REST Web Api传递或不传递ID到POST操作的最佳实践?

时间:2014-05-24 09:20:26

标签: rest post request response asp.net-web-api

我有一个POST动作,可以在数据库中创建一条记录。我想知道以下哪个选项更好?

  1. 将ID作为参数传递给POST,这意味着我们需要使用GUID值初始化参数。因此除了状态代码

  2. 之外,没有对POST的响应
  3. 不要将ID传递给POST操作并让它在数据库中创建(例如IDENTITY),然后在响应中将其与状态码一起返回。

1 个答案:

答案 0 :(得分:1)

我选择选项2.虽然1有一些好的参数,但请考虑以下几点:

  1. 正如您所暗示的,所有传统数据库都允许生成主键(通常通过自动递增) - 即您可以免费获得

  2. 为数据库创建合适的ID不是调用者的责任

  3. 通过宣传,您可以将内部详细信息提交给外部API,这绝不是好事。如果您想稍后完全重新考虑您的ID模式(例如保留的ID范围),该怎么办?

  4. 选项1有太多额外的错误条件和需要测试的路径(冲突ID等),花在API本身上的时间更长。