使用Web API(REST)在数据库中创建(POST方法)新项目的常见规则或最佳实践是什么?我的POST方法的主体是否应包含标识符?
带标识符:
php artisan db:seed --class=App\\Containers\\Banners\\Data\\Seeders\\DefaultBannersSeeder
没有标识符:
public HttpResponseMessage Post(AddressModel addressModel)
{
using (var context = new DbContext())
{
if (context.address.Any(y => y.id == addressModel.id)
throw new Exception("Item already exist"); // or return BadRequest
...
}
}
当然(在downvoting之前)你可以告诉我没有正确的答案,因为第一个解决方案在这个或这个案例中效率更高,另一个解决方案更好用于其他原因。当然我有自己的看法,对于没有像我这样经验的人来说,这是一个意见问题。但对于有经验的人,我确信他们可以毫不犹豫地回答这个问题。所以这不是一个固执的问题或请告诉我原因。
答案 0 :(得分:0)
如果要创建对象,API应负责分配唯一ID。否则,调用者必须过多地了解API的工作原理(id的类型,我们如何获得唯一值等)。
此外,如果调用者需要它以供以后操作,您可以返回已分配的内容。