Web API:我的POST方法的主体是否应包含标识符?

时间:2016-10-07 00:32:15

标签: c# asp.net-web-api

使用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之前)你可以告诉我没有正确的答案,因为第一个解决方案在这个或这个案例中效率更高,另一个解决方案更好用于其他原因。当然我有自己的看法,对于没有像我这样经验的人来说,这是一个意见问题。但对于有经验的人,我确信他们可以毫不犹豫地回答这个问题。所以这不是一个固执的问题或请告诉我原因。

1 个答案:

答案 0 :(得分:0)

如果要创建对象,API应负责分配唯一ID。否则,调用者必须过多地了解API的工作原理(id的类型,我们如何获得唯一值等)。

此外,如果调用者需要它以供以后操作,您可以返回已分配的内容。