我有一个POST动作,可以在数据库中创建一条记录。我想知道以下哪个选项更好?
将ID作为参数传递给POST,这意味着我们需要使用GUID值初始化参数。因此除了状态代码
不要将ID传递给POST操作并让它在数据库中创建(例如IDENTITY),然后在响应中将其与状态码一起返回。
答案 0 :(得分:1)
我选择选项2.虽然1有一些好的参数,但请考虑以下几点:
正如您所暗示的,所有传统数据库都允许生成主键(通常通过自动递增) - 即您可以免费获得
为数据库创建合适的ID不是调用者的责任
通过宣传,您可以将内部详细信息提交给外部API,这绝不是好事。如果您想稍后完全重新考虑您的ID模式(例如保留的ID范围),该怎么办?
选项1有太多额外的错误条件和需要测试的路径(冲突ID等),花在API本身上的时间更长。