Ich bin ein erfahrener Programmierer aber neu in WebApi (Wir verwenden MS asp.net mvc-Framework).Wie kann ich die Clientseite von HttpResponseMessage sehen?
Ein Kunde verlangt, dass alle Rückgabewerte in einem Objekt dieser Art gewickelt werden:
I{
success: [boolean],
errorLog: [error message, if failed],
referer: [api call details],
payload: {
// results, if success
}
sah, dass der Standard bereits für die Rückgabe eines HttpResponseMessage Objekt aufgerufen, die diese Informationen hat. Also, anstatt zu duplizieren, kehre ich nur ein Objekt dieser Art (entweder direkt oder über einen IHttpActionResult, zB
return Ok(object);
Allerdings kann ich nicht sehen, wie dieses Objekt zu verwenden, von der Client-Seite. Wenn ich eine machen api Anruf aus dem Browser, alles, was ich sehe, ist der Inhalt (auch den Debugger) Wenn ich einen Fehler zurück, wie ich sehe.
<Error>
<Message>foo bar</Message>
</Error>
aber kein Zeichen von den anderen Informationen (Statuscode, ReasonPhrase, etc.) Dasselbe gilt, wenn ich das Json-Format zurückgebe:
Ist dieses Objekt "abgestreift"? Auf der ganzen Linie, und wenn ja, von wem? Wie kann ich zulassen, dass dieses Objekt beim Anrufer ankommt, damit er alle zugehörigen Felder verwenden kann?
Dank
Edit: Wie Kommentar gebeten, ich bin Entsendung meines serverseitigen Code, wenn auch nicht viel, um es dort ist. Mein Versuch, das HttpResponseMessage Objekt zu sehen, war diesen Controller zu erstellen:
public HttpResponseMessage Get() {
HttpResponseMessage response = Request.CreateErrorResponse(HttpStatusCode.NotAcceptable, "foo bar");
response.ReasonPhrase = "There is no reason.";
return response;
}
Dies ist der Code, der oben gepostet in der XML-Ergebnisse.
sollte nicht der Fall sein
und senden Sie die Antwort erstellen, können Sie Ihre Post serverseitiger Code? –