如何防止不存在的工作 ID 破坏 API 查询?

How do I keep a nonexistent work ID from breaking an API query?

我一次查询多个工作项的 Azure DevOps API 到 return 数据。基本查询是:

https://dev.azure.com/<organization>/_apis/wit/workitems/?ids=1234,2345,3456&api-version=6.0

但如果其中一个不是有效的工作项 ID,它 return 在 JSON 响应中是这样的:

"message":"TF401232: Work item 3456 does not exist, or you do not have permissions to read it."

对我来说,更好的响应似乎是正常的多 ID JSON 对象,将该消息作为许多工作项 ID 响应之一,而不是让无效响应破坏整个查询。有什么办法吗?我还没有找到任何似乎可以实现这一点的论据,但我很容易就错过了。谢谢。

您可以在 api url 中使用 errorPolicy 查询标志。将 errorPolicy 设置为 Omit。见下文:

https://dev.azure.com/<organization>/_apis/wit/workitems/?ids=1234,2345,3456&errorPolicy=Omit&api-version=6.0

当您使用errorPolicy=Omit查询标志时。不存在的工作项 ID 不会中断 API 调用。它将在响应中被省略。

有关更多 URI 参数,请参阅 here