Ich habe AFNetworking 2.0 in meiner App verwendet. Ich habe bemerkt, dass, wenn mein Web-Service einen Statuscode von 500 zurückgibt, ich den Körper der Antwort nicht erhalte.
Hier ist ein Beispiel meines PHP-Codes
%Vor%Wenn ich einen einfachen Rest-Client verwende, ist dies ein Beispiel für einen Antworttext.
%Vor%Dies scheint jedoch die einzige Antwort zu sein, die ich von AFNetworking bekommen kann
%Vor%Dies ist der Teil meines Ziel-c-Codes, der das tut.
%Vor%Gibt es eine Möglichkeit, den Antwortkörper zu bekommen?
Bearbeiten: Mehr Code zur Klärung
Unten ist ein Teil meiner Unterklasse von AHTHTPSessionManager
%Vor%Ich habe versucht, den Antwort-Serializer auf einen AFCompoundResponseSerializer zu setzen, aber es schien keinen Unterschied zu machen
Unten ist ein Beispiel für eine Unterklasse, die ich den Bibliothekar nenne.
%Vor%UPDATE: Ich habe ein Github-Repository erstellt, das den neuesten Code enthält, den ich verwende. Alle Änderungen werden dort veröffentlicht. Ссылка
Die Antwort kommt von diesem Thema auf GitHub. Ссылка
gfiumara ist der Entwickler, der sich das ausgedacht hat. Ich habe seine Unterklasse von AFJSONResponseSerializer nur geringfügig geändert, um eine tatsächliche Zeichenfolge anstelle der NSData p> einzuschließen %Vor% %Vor%
Hier ist ein Beispiel, wie ich es im Fehlerblock verwende.
%Vor% Sie müssen AFCompoundSerializer
verwenden, um dem AFNetworking-Framework mitzuteilen, wie alle möglichen Antworten bearbeitet werden, die es erhalten könnte. Standardmäßig wird nur versucht, JSON zuzuordnen. Ein Compound-Serializer wird die Serialisierer durcharbeiten, bis es einen findet, der keinen Fehler verursacht.
Sie möchten Folgendes verwenden:
%Vor% auf AFCompoundResponseSerializer
(in AFURLResponseSerialization.h
).
Sie müssen ein Array von Serialisierern übergeben, die die Antwort verarbeiten können. Einer der Serializer im Array sollte eine Instanz von AFHTTPResponseSerializer
sein, um Ihre Fehlerreaktionen zu behandeln.
Tags und Links objective-c ios rest afnetworking-2