只是尋找關於Web服務接口設計最佳實踐的一些反饋。Web服務接口 - 複雜類型作爲參數?
我有兩種選擇:
選項1
public string GetSomeData(SomeCriteriaClass criteria);
其中SomeCriteriaClass定義爲:
public int ID;
public string Name;
public string Property2; etc.
選項2
public string GetSomeData(int id, string name, string property2)
哪個是首選選項?這似乎是設計模式的衝突 - 第一種是將類中的參數封裝起來,另一類是保持Web服務接口的靈活性和開放性。
第二個問題是 - 如果我們選擇Option1 - 你如何通過URL調用它?
謝謝
爲什麼說選項2「保持Web服務界面的靈活性和開放性」?這意味着對數據參數的任何更改都會影響API的聲明,而在選項1中它只會影響「參數類」聲明(當然還有調用代碼)。 – 2009-05-19 08:34:30
對不起,這是完全正確的,而不是靈活和開放,應該看到「可見和直接」。我不知道如何通過URL來調用通過複雜類型傳遞的Web服務 - 這對我稍有影響。是否有缺點,它是否更復雜? – Duncan 2009-05-19 09:15:15