首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当策略选择失败时,服务器端要使用的正确HTTP状态代码是什么?

当策略选择失败时,服务器端要使用的正确HTTP状态代码是什么?
EN

Stack Overflow用户
提问于 2020-08-25 11:45:35
回答 1查看 41关注 0票数 0

考虑服务器端过程来实现算法和用于对提供的输入数据执行算法的API端点。

为了解决这个问题,假设请求内容描述了两个地方之间的旅行,并且使用服务器端算法来计算完成旅行所需的时间。还设想存在许多算法来计算旅行时间,而且算法选择在某种程度上是基于请求内容的(调用API端点的客户端可以指定他不想使用收费公路,或者他希望使用最不繁忙的道路)。

这个场景通常是通过使用 战略模式的一个变体来编写的。

现在,API客户端指定要使用最优美的路由,并且我们的服务器端实现不包括用于此请求的算法(可能唯一可用的算法是“避免收费公路”、“最不繁忙的道路”和“最短路径”)。在这种情况下,服务器无法处理用户请求,必须向客户端返回某种错误状态代码。

是否应该考虑服务器无法处理请求,从而返回5XX状态代码,或者客户端请求包含无效的参数,从而返回4XX状态代码?

换句话说,服务器是由于服务器端问题而无法处理请求,还是客户端向服务器发送无效/格式错误的请求?

EN

回答 1

Stack Overflow用户

发布于 2020-10-22 12:12:31

门冬宁

我们的服务器端实现不包括用于此请求的算法。

将API与现有的“算法”一起使用是客户端的响应性。

根据我对您的问题的理解,客户端没有显式地发送像?algorithm=ASTAR这样的参数。只剩下两种可能性:

  • 服务器确实理解请求,但无法处理它。?tollRoads=false是一个有效的参数
    • 有退路吗?你能重定向到任何其他算法吗?
      • 是的,=> 300,您可以将用户重定向到其他URL
      • 没有=> 204/501 --这是一个有效的请求,但是服务器无法处理它

  • 它不是一个有效的参数=> 400用户不应该发送这样的参数
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63578157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档