2012-12-17 106 views
0

我想驗證您的意見。Web服務不支持的參數

我必須設計一個Web服務,該服務可搜索特定國家/地區附近折扣計劃附屬餐廳的數據庫。 對這樣的web服務的REST調用看起來像http://server/search?country=<countryCode>&language=<languageCode>&address=<address>&zipcode=<zipcode>

問題是,有些國家沒有郵政編碼或在整個國家沒有郵政編碼。

現在,如果用戶爲沒有郵編的國家傳遞了這樣的參數,但是他/她傳遞了有效地址,你會怎麼做?

  1. 返回400不良要求。
  2. 只需igonre的郵政編碼參數,並根據有效地址
  3. 返回一個特定的格式(例如JSON)指出拉鍊碼不支持該國

一些同事也是一個錯誤信息返回結果贊成以下選項 4.僅返回任何結果。並在文檔中說明不支持zipcode參數。我們還必須創建一個web服務方法,它返回應在用戶界面中顯示的字段。

您認爲最好的選擇是什麼?爲什麼?

謝謝!

回答

0

那麼OpenStreetMap提名服務器返回結果,即使你不知道郵政編碼,你也可以看看結果。如果用戶不知道郵政編碼但想要查找歷史記錄對象? 無論如何,我會嘗試搜索特定的對象,特別是因爲您說某些國家/地區的郵政編碼部分存在。

如果你只是沒有返回任何用戶不知道什麼地方出錯,他不知道該怎麼做。

0

這取決於用例。 API的用戶觸發這種情況有多容易?這是用戶真正應該知道如何避免的嚴重錯誤嗎?或者,這種情況並不完全清楚,用戶可能知道(或者認爲他知道)郵政編碼,而官方應該沒有郵政編碼?是否歸結爲用戶如何從API中檢索正確結果的試錯?這是一個足夠糟糕的錯誤,用戶需要了解它並且他需要在他身邊處理這個問題嗎?

如果您將此限制放在您的API中,請考慮在觸發此案例時必須清楚地記錄這些限制,API的每個用戶都必須閱讀並理解該文檔,但需要明確如何避免這個問題,用戶需要避免這個問題,並且每個用戶都必須正確地在他身邊實施額外的代碼才能避免這個問題。用戶是否可以很容易地知道哪些區域有郵編,哪些沒有郵編?

我認爲「在你接受的東西中靈活,在你輸出的東西中嚴格適用......」的口頭禪......

相關問題