Я запрашиваю API Azure DevOps для возврата данных для нескольких рабочих элементов одновременно. Основной запрос:
https://dev.azure.com/<organization>/_apis/wit/workitems/?ids=1234,2345,3456&api-version=6.0
Но если один из них не является допустимым идентификатором рабочего элемента, он возвращает что-то вроде этого в ответе JSON:
"message":"TF401232: Work item 3456 does not exist, or you do not have permissions to read it."
Мне кажется, что лучшим ответом был бы обычный объект JSON с несколькими идентификаторами с этим сообщением в качестве одного из многих ответов идентификатора рабочего элемента, вместо того, чтобы позволить недопустимому ответу нарушить весь запрос. Есть ли способ сделать это? Я не нашел ни одного аргумента, который, кажется, достигает этого, но я легко мог его пропустить. Спасибо.
Вы можете использовать флаг запроса errorPolicy
в URL-адресе API. Установите errorPolicy
на Omit
. См. ниже:
https://dev.azure.com/<organization>/_apis/wit/workitems/?ids=1234,2345,3456&errorPolicy=Omit&api-version=6.0
Когда вы используетеerrorPolicy=Omit
флаг запроса. Несуществующий идентификатор рабочего элемента не нарушит вызов API. Вместо этого он будет опущен в ответе.
См. здесь для получения дополнительных параметров URI.
Спасибо. Это очень хорошо работает для моего варианта использования. Я как-то совсем пропустил это.