一個應用程式讓其他應用程式可以獲取某個地區的天氣資訊。該應用程式實作了一個REST API和JSON物件來表示資源,用戶通過region請求中的 JSON 物件中的屬性來指示區域。
它是這樣作業的:如果請求中沒有指明該區域,如果該屬性不存在于JSON或它具有nullvalue,則應用程式假定區域是“Tenesse”(默認為某個區域)。這是一個好習慣嗎?這樣做對于使regiona 必需屬性并明確指示區域有什么缺點?
uj5u.com熱心網友回復:
我帶來了在請求中不明確區域值的不便:如果用戶(用戶是此處的應用程式)方面的錯誤使用戶根本不發送區域,則該用戶可能正在咨詢天氣考慮其他地區。因此,明確該值可確保在用戶假設它正在咨詢另一個地區的天氣時不會掩蓋此類錯誤。
uj5u.com熱心網友回復:
這是一個好習慣嗎?
沒關系。
在引入新訊息時創建“必填”欄位很簡單。
將“必需”欄位引入已發布的模式是一團糟,因為您已經有許多生產者/消費者在野外運行,所有這些都需要更改。
在現有模式必然暗示此新欄位具有相同值的情況下,引入具有默認值的可選欄位允許您擴展訊息的含義以覆寫具有破壞現有實作的新區域。
想象一條描述地址的訊息。今天,所有感興趣的地址都位于“地球”上;通過添加“行星”欄位來明確表示是在浪費每個人的時間。但是幾年后,當我們開始從其他星球收集地址時?我們需要那個欄位。使其成為默認值為“地球”的可選值允許我們在不破壞任何現有實作的情況下包含新的業務案例。
David Orchard 寫了關于 XML 檔案的這些問題;可擴展性、XML 詞匯表和 XML 架構可能是一個很好的介紹。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/370369.html
下一篇:在Jmeter上修復協議測驗?
