0

私はあなたと意見を一致させたい。

特定の住所周辺の特定の国で割引プログラムに加盟しているレストランのデータベースを検索する Web サービスを設計する必要があります。このような Web サービスへの REST 呼び出しは次のようになります。http://server/search?country=<countryCode>&language=<languageCode>&address=<address>&zipcode=<zipcode>

問題は、国によっては郵便番号がないか、国全体に郵便番号がないことです。

では、ユーザーが郵便番号を持たない国にそのようなパラメーターを渡し、有効な住所を渡した場合はどうしますか?

  1. Return 400 Bad リクエスト。
  2. 単純に郵便番号パラメータを無視して、有効な住所に基づいて結果を返す
  3. その国では郵便番号がサポートされていないことを示すエラー メッセージを特定の形式 (JSON など) で返す

一部の同僚は、次のオプション 4 を支持しています。単に結果を返さない。また、zipcode パラメータがサポートされていないことをドキュメントに記載してください。また、ユーザー インターフェイスに表示するフィールドを返す Web サービス メソッドを作成する必要があります。

どのオプションが最適だと思いますか?またその理由は何ですか?

ありがとう!

4

2 に答える 2

0

それはユースケースに依存します。API のユーザーがそのケースをトリガーするのはどれくらい簡単ですか? ユーザーが回避する方法を本当に知っておくべき重大なエラーですか? それとも、正式には存在しないはずの郵便番号をユーザーが知っている (または知っていると思っている) 可能性がある、完全に明確ではないものですか? API から正しい結果を取得する方法は、ユーザーの試行錯誤に帰着しますか? ユーザーに通知する必要があり、ユーザー側でこれを処理する必要があるほど悪いエラーですか?

API にこの制限を設ける場合は、このケースがトリガーされたときに明確に文書化する必要があることを考慮してください。API のすべてのユーザーはその文書を読んで理解する必要があります。問題を回避する方法を明確にする必要があります。ユーザーが問題を回避できるようにする必要があり、この問題を回避するには、すべてのユーザーが自分の側で追加のコードを正しく実装する必要があります。郵便番号のある地域とない地域をユーザーが簡単に知ることはできますか?

「受け入れるものは柔軟に、アウトプットは厳格に」というマントラが当てはまると思います...

于 2012-12-17T14:16:25.023 に答える
0

OpenStreetMap ノミネーション サーバーは、郵便番号がわからなくても結果を返します。とにかく結果を見ることができます。ユーザーが郵便番号を知らないが、hist オブジェクトを見つけたい場合はどうすればよいでしょうか? とにかくその特定のオブジェクトを検索しようとします。特に、国によっては部分的に郵便番号があるとあなたが言ったからです。

単純に何も返さない場合、ユーザーは何が問題なのかわかりませんし、何をすべきかわかりません。

于 2012-12-17T14:10:32.387 に答える