創建複雜的對象我一直在做的主要是服務器端渲染應用程序,現在我開始做的WebAPI +的客戶端渲染JavaScript框架。在REST
我有一個創意,其中創建User
的表單也有Organization
的字段,它將在一個事務中與User
一起創建。如果我要做服務器端渲染,我將使CreateUserViewModel
其中包含所有字段的形式,我的控制器操作將採取該CreateUserViewModel
,然後將CreateUserViewModel
字段映射到User
和Organization
實體字段。
但如果我提出REST API,應該我也有這種用視圖模型邏輯包含從表單中的所有領域,這是在控制器的操作方法的參數?或者我應該有兩種不同的方法POST: /users
我POST: /organizations
,並在客戶端執行從輸入字段映射到User
和Organization
並分別調用這兩個方法?如果第二種選擇是正確的方式,那麼我將如何使它成爲交易?
「如果第二個選項是正確的方法,我將如何使它的事務呢?」 - 當然,如果它需要交易,第二個選項不是正確的方法。但是你可能會考慮它是否需要交易。如果沒有更多的細節,很難說清楚,但是可能會期望用戶成爲組織的成員,所以也許組織可以在不使用事務的情況下首先創建。 – Joe
它必須是事務性的,用戶在註冊時必須輸入組織細節,一個人不能沒有另一個存在。不是我的規範,它是客戶需要的。 – Aleksa
@Alexsa,你似乎在暗示該組織的細節基本上是在數據模型中的用戶屬性(即你沒有使用相同的組織> 1個用戶)。在這種情況下,您對用戶和組織單獨呼叫的第二個選項不是正確的方式。 – Joe