在这种情况下使用什么适当的HTTP状态代码?

问题描述 投票:0回答:1

我正在实现一个简单的API流程,其中涉及充当多个上游API的网关。

image demonstrating the flow

[基本上,客户端向该端点提供令牌,服务器对API进行多个顺序调用,从最终调用中收集一堆信息,然后将其返回。

[我们收到令牌,然后转到Upstream API 1,收到一束与该令牌关联的Objects。从理论上讲,可以无限量地返回Objects

然后我们用逗号分隔每个Object的ID,并用逗号分隔的Upstream API 2转到ObjectIDs以在所有MetaInformation上进一步接收Objects

MetaInformation可能并非每个Object都唯一,因此我们可以收到1到Objects MetaInformation的数字之间的任何数字。

然后,我们打算使用逗号分隔MetaInformationIDs的第三个API,但是该上游API只能使用10个唯一的MetaInformationIDs,这意味着我们将无法收集客户端的信息。期待。因此,我们可以在此时发出失败案例而无需发出失败的上游请求,但是适合使用哪种HTTP状态?

似乎客户端没有提出错误的请求,因为他们当时无法知道唯一的MetaInformationIds数量,但是我们会收到400状态用> 10 MetaInformationIds发出请求。

有什么想法吗?

rest http http-status-codes
1个回答
0
投票

我的建议是让您的第二个微服务创建足够小的MetaInformationIDs批,以便成功调用第三个微服务。在这种情况下,调用将有望成功,从而消除了您所描述的错误。如果您不能做这样的事情,那么也许您应该重新考虑您的设计。如果可以这样做,作为备用,您可以返回500服务器端错误代码,这仅意味着服务器上发生了一些常规错误。

© www.soinside.com 2019 - 2024. All rights reserved.