Я опытный программист, но новичок в WebApi (мы используем MS asp.net mvc framework).Как увидеть клиентскую сторону HttpResponseMessage?
Клиент просил, чтобы все возвращаемые значения будут обернуты в объект такого рода:
{
success: [boolean],
errorLog: [error message, if failed],
referer: [api call details],
payload: {
// results, if success
}
Я видел, что стандарт уже называется для возвращения объекта HttpResponseMessage, который имеет эту информацию. Так, а не дублировать, я просто возвращает объект этого типа (либо непосредственно, либо через IHttpActionResult, например
return Ok(object);
Однако, я не могу понять, как использовать этот объект на стороне клиента. Когда я сделать апите вызов из браузера, все, что я вижу, это содержание (даже с помощью отладчика) Когда я возвращаю ошибку, я вижу:.
<Error>
<Message>foo bar</Message>
</Error>
, но никаких признаков другой информации (StatusCode, ReasonPhrase и т.д.) То же самое относится, если я верну формат Json.
Этот объект «лишен» где-то по линии, и если да, то кто? Как я могу позволить этому объекту прибыть к вызывающему абоненту api, чтобы он/она мог использовать все связанные поля?
Благодаря
Edit: В соответствии с просьбой комментарий, я отправляю мой код на стороне сервера, хотя там не так много к нему. Моя попытка увидеть объект HttpResponseMessage была создать этот контроллер:
public HttpResponseMessage Get() {
HttpResponseMessage response = Request.CreateErrorResponse(HttpStatusCode.NotAcceptable, "foo bar");
response.ReasonPhrase = "There is no reason.";
return response;
}
Это код, который приводит к XML, размещенный выше.
не должно быть, вы можете разместить ваш серверный код? –