web服务不支持参数



我想与您一起验证意见。

我必须设计一个网络服务,在给定地址附近的特定国家的折扣计划所属餐厅的数据库中进行搜索。对此类Web服务的REST调用将类似于http://server/search?country=<countryCode>&language=<languageCode>&address=<address>&zipcode=<zipcode>

问题是,有些国家没有邮政编码,或者整个国家都没有邮政编码。

现在,如果用户为一个没有邮政编码的国家传递这样的参数,但他/她传递了一个有效的地址,你会怎么办?

  1. 返回400错误请求
  2. 只需igonre zipcode参数并根据有效地址返回结果
  3. 以特定格式(例如JSON)返回一条错误消息,说明该国家/地区不支持邮政编码

一些同事也支持以下选项4.简单地不返回任何结果。并在文档中声明不支持zipcode参数。此外,我们还必须创建一个webservice方法,该方法返回应该在用户界面中显示的字段。

你认为什么选择是最好的,为什么?

谢谢!

即使你不知道邮政编码,OpenStreetMap提名服务器也会返回结果,而且你可以查看结果。如果用户不知道邮政编码,但想查找hist对象,该怎么办?无论如何,我都会尝试搜索那个特定的对象,尤其是因为你说有些国家有部分邮政编码。

如果你只是什么都不回,用户不知道出了什么问题,他也不知道该怎么办

这将取决于用例。API的用户触发这种情况有多容易?这是用户真正应该知道如何避免的严重错误吗?还是说,用户可能知道(或认为自己知道)邮政编码,而官方不应该有邮政编码,这一点还不完全清楚?用户如何从API中检索正确的结果,这是否归结为试错?这是一个足够糟糕的错误吗?用户需要被告知这一点,他需要自己处理这一问题?

如果您在API中设置了此限制,请考虑当触发此情况时,必须清楚地记录该限制,API的每个用户都必须阅读并理解该文件,需要清楚如何避免该问题,用户需要有可能避免这个问题,每个用户都必须正确地实现额外的代码来避免这个问题。用户是否可以轻松地知道哪些区域有邮政编码,哪些没有?

我认为"接受的东西要灵活,输出的东西要严格"的咒语适用。。。

相关内容

最新更新