我有一个接受“令牌”的服务(外观),然后将其解码以检索一些信息(一个 id),然后调用另一个外部服务来获取一些附加信息。
{"id":"foo","other-stuff":"bar"}
由于此服务依赖于外部服务,因此有时可能会失败;但是我们希望它仍然返回它确实设法检索到的信息。
{"id":"foo","warning":"bar service is down, oh no!"}
显然在第一种情况下 200 返回码是合适的,但是当它“部分”失败时它仍然合适吗?
作为消费者,我想我更愿意只阅读状态码,然后向用户显示警告或其他任何东西;所以 200 在这里对我不是很有帮助。
有任何想法吗?