C# 我的RESTful服务应该更新完整发布的对象图,还是应该强制客户端发布每个对象?

C# 我的RESTful服务应该更新完整发布的对象图,还是应该强制客户端发布每个对象?,c#,.net,rest,asp.net-web-api,C#,.net,Rest,Asp.net Web Api,我正在创建一个web api服务,假设我有一个端点: 如果一家公司可以有多个位置,当发布到上面的端点时,我应该尝试从单个发布保存整个对象图(即公司和位置),还是只更新公司并强制客户发布所述公司的位置 我觉得使用整个对象图可以使我的业务逻辑和验证更加简单和直接,但这也让我感觉非常不平静 在这样的场景中,我应该做什么?这个端点做什么?REST支持补丁的概念,即更新表示的某些部分。在GET中返回部分对象图是一种常见的模式,您可以使用媒体类型,也可以在查询字符串中使用参数,这可能不那么RESTy,但更

我正在创建一个web api服务,假设我有一个端点:

如果一家公司可以有多个位置,当发布到上面的端点时,我应该尝试从单个发布保存整个对象图(即公司和位置),还是只更新公司并强制客户发布所述公司的位置

我觉得使用整个对象图可以使我的业务逻辑和验证更加简单和直接,但这也让我感觉非常不平静


在这样的场景中,我应该做什么?

这个端点做什么?REST支持补丁的概念,即更新表示的某些部分。在GET中返回部分对象图是一种常见的模式,您可以使用媒体类型,也可以在查询字符串中使用参数,这可能不那么RESTy,但更容易。@MotiAzu此端点将具有典型的GET、post、put和delete方法。我的问题是,如果要发布/放置一个完整的公司对象图及其位置对象和任何其他子对象,我应该只创建/更新公司还是创建/更新整个对象图?我不认为在发送的数据中包含数组是不安全的。如果有其他理由让客户端发布多个请求,那么就继续吧,但我不认为在一个请求中这样做违反任何最佳实践。你能解释一下是什么让人感觉不舒服吗?资源扩展是REST中的一种常见技术。我也不认为这是不安宁的。如果您有多个对象需要在单个事务中更新,那么让客户维护这些对象并担心是否符合您的业务逻辑将很难维护。