Я пытаюсь получить данные из проекта Online API URL через Odata V3.Проблема в том, что если ресурс не найден, я получаю код состояния 200, и запрос проходит проверку, и моя программа прерывается из-за неверных данных
Пример запроса URL https://QASystem/DevQA/_api/ProjectData/test
Я получаюследующий ответ, если тест не существует
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
<code></code>
<message xml:lang="en-US">Resource not found for the segment 'test'></message>
</error>
И код состояния возвращает 200, даже если сегмент не был найден
Мой образец упрощенной проверки ответа
HttpResponseMessage response = await ExecutionContext.HttpClient.GetAsync(odataQuery);
// Different checks in real code but here a simple one
if (response.StatusCode.Equals(HttpStatusCode.ServiceUnavailable) ||
response.StatusCode.Equals(HttpStatusCode.RequestTimeout) ||
response.StatusCode.Equals(HttpStatusCode.NotFound)
// Log error Here
throw new TransientFaultException();
Как я могу проверить наличие ошибочных данных, даже если код состояния равен 200?Есть ли способ справиться с этим?