考虑服务器端过程来实现算法和用于对提供的输入数据执行算法的API端点。
为了解决这个问题,假设请求内容描述了两个地方之间的旅行,并且使用服务器端算法来计算完成旅行所需的时间。还设想存在许多算法来计算旅行时间,而且算法选择在某种程度上是基于请求内容的(调用API端点的客户端可以指定他不想使用收费公路,或者他希望使用最不繁忙的道路)。
这个场景通常是通过使用 战略模式的一个变体来编写的。
现在,API客户端指定要使用最优美的路由,并且我们的服务器端实现不包括用于此请求的算法(可能唯一可用的算法是“避免收费公路”、“最不繁忙的道路”和“最短路径”)。在这种情况下,服务器无法处理用户请求,必须向客户端返回某种错误状态代码。
是否应该考虑服务器无法处理请求,从而返回5XX状态代码,或者客户端请求包含无效的参数,从而返回4XX状态代码?
换句话说,服务器是由于服务器端问题而无法处理请求,还是客户端向服务器发送无效/格式错误的请求?
发布于 2020-10-22 12:12:31
门冬宁
我们的服务器端实现不包括用于此请求的算法。
将API与现有的“算法”一起使用是客户端的响应性。
根据我对您的问题的理解,客户端没有显式地发送像?algorithm=ASTAR这样的参数。只剩下两种可能性:
?tollRoads=false是一个有效的参数300,您可以将用户重定向到其他URL204/501 --这是一个有效的请求,但是服务器无法处理它400用户不应该发送这样的参数https://stackoverflow.com/questions/63578157
复制相似问题