簡體   English   中英

RESTful Web服務:同一資源的不同XML表示形式

[英]RESTful Web Services: Different XML Representation for the same resource

我正在使用XML格式響應開發REST Web服務,但遇到了一些問題(確實是一個問題)。

我的資源之一有一些最終字段,因此一旦創建它們,就無法對其進行修改。 因此,根據我在做什么,我需要此資源的不同表示形式:創建或修改它。

我應該怎么做,為用戶提供相同資源的不同XML模式,或者僅編寫一個XML模式並讀取某些字段(取決於我所請求的方法)?

謝謝

我應該怎么做,為用戶提供相同資源的不同XML模式,或者僅編寫一個XML模式並讀取某些字段(取決於我所請求的方法)?

如果要重用架構的各個部分,則可以從其他文件中導入這些部分,或使用服務器端語言編寫代碼以重用它。 我認為最好使用服務器端語言重用字段,因為它更靈活。

從您的描述來看,我不認為這是資源的兩種表示形式。 我將其視為隨時間變化的一種資源。

聽起來您的問題是關於文檔的,這是根據資源的狀態(或更確切地說,是否存在)來傳達可接受的表示形式的不同規則的最佳方法是什么。

如果是這種情況,並且您正在使用W3C XML Schema(XSD)文件來記錄表示形式,那么我建議使用一個XSD文件,該文件將允許使用這些字段,但會將xsd:annotation子代添加到有問題的字段中,並注意在那里,只有在創建新資源時才允許使用這些字段,而在修改現有資源時則不允許。

然后,您可以使用相同的XSD來驗證兩個用例,並使用幾行代碼專門檢查不可變字段,並在用戶嘗試更改它們時拒絕請求。 這真的很重要; 文檔很重要,但是擁有一個系統可以提供有用的反饋就顯得尤為重要。 如果有人嘗試更改不可變字段之一,則返回“ 400 Bad Request”,並在響應正文中包含清晰易懂的問題說明。

暫無
暫無

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

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