2012-12-17 104 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的每个用户都必须阅读并理解该文档,但需要明确如何避免这个问题,用户需要避免这个问题,并且每个用户都必须正确地在他身边实施额外的代码才能避免这个问题。用户是否可以很容易地知道哪些区域有邮编,哪些没有邮编?

我认为“在你接受的东西中灵活,在你输出的东西中严格适用......”的口头禅......

相关问题