簡體   English   中英

了解REST實體(基於請求和響應的變化)

[英]Understanding REST Entities (variations based on request and responses)

好,所以我對REST Web服務有一些操作。 在不同的操作之間存在一些實體重疊,但是基於我正在做的事情,某些元素/屬性不相關。

例如。 當我請求費率時,我需要回來:

<Property id=””>
  <Rooms>
    <Room>
      <Rates>
        <Rate></Rate>
      </Rates>
    </Room>
  </Rooms>
</Property>

但是,當我只想返回房間列表時,我只想要:

<Property id=””>
   <Rooms>
     <Room>
     </Room>
   </Rooms>
</Property>

而我的“獲取房間”請求僅需要輸入

<property id=””></property> 

但是基於屬性的完整定義-當我生成示例getroomsRequest xml結構時,其結構包括頂部示例中的所有內容。

我應該聲明不同的命名實體嗎? 還是有一種使用公共實體但在不相關時以某種方式排除事物的方法?

謝謝! 不知道什么是可能的/最佳實踐。

您開始遇到困難的原因是因為您試圖在域概念(屬性,房間,費率)和REST資源之間創建直接映射。

我認為,REST資源應代表您系統的用例,例如“ Property / 1 / RoomRates”,“ Property / 1 / Rooms”。 資源更多地是UI層而不是域層。

一些REST框架已開始實現一些機制,這些機制使您可以在查詢字符串上准確指定需要返回哪些數據。 同樣,我認為這是一個非常糟糕的主意。 它嚴重限制了緩存的用途,並且在客戶端和服務器之間建立了更多的耦合。

即使它與您的業務層中的任何內容都不相關,也不必擔心在REST系統中創建新資源。 開發人員在設計基於REST的系統時遇到的大多數問題都可以通過創建一個或兩個新概念作為資源來解決。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM