iOS-URL-Antwortbool
-
23-12-2019 - |
Frage
net-Webdienst, der „true“ oder „false“ zurückgibt, aber ich weiß nicht, wie ich diese Antwort in meiner IOS-App abfangen kann.
Mein Dienst aktualisiert Daten in einer Datenbank und ich weiß, dass es funktioniert. Die Daten werden aktualisiert. Das Abfangen der Antwort ist das Problem. Ich möchte es gerne wissen, damit ich dem Benutzer mitteilen kann, ob etwas schief gelaufen ist.
Für diejenigen unter Ihnen, die wissen, dass es sich bei c# um eine Bool-Methode handelt, probieren Sie einfach „catch“ aus und geben Sie „true“ oder „false“ zurück.
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
//What to write here to catch my true or false
if(response) {
//true
} else {
//false
}
}
Ich danke Ihnen für Ihre Hilfe
Lösung
Sie sollten umsetzenconnection:didReceiveData:
um NSData zu erhalten und zu speichern und – connectionDidFinishLoading:
wo Sie empfangene Daten als BOOL interpretieren können.
grundsätzlich didReceiveResponse:
Informieren Sie sich nur über die Serverantwort auf Ihre Anfrage, nicht über die gesamte Antwort.
Andere Tipps
Sie sollten den HTTP-Statuscode der Antwort überprüfen, z. B.:
NSInteger statusCode = [(NSHTTPURLResponse*)response statusCode];
Der Statuscode für eine erfolgreiche Anfrage verwendet den Bereich [200..299].
Beispielsweise würde eine erfolgreiche GET-Anfrage mit einem angezeigt 200 (OK).
Eine erfolgreiche POST-Anfrage wird mit einem angezeigt 201 (Erstellt).
Eine erfolgreiche DELET-Anfrage wird mit einem angezeigt 204 (Kein Inhalt)..
Siehe auch:Wiki Liste der HTTP-Statuscodes.
Darüber hinaus müssen Sie die Art der Daten überprüfen, die der Server an Sie gesendet hat:
NSString* mimeType = [response MIMEType];
Der MIME-Typ wurde vom Server im gesendet Content-Type
Header der Antwort.
Siehe auch Wiki MIME-Internetmedientyp
Was Sie tatsächlich erhalten, hängt vollständig von Ihrer Anfrage UND dem Server ab.
Beispielsweise kann der Server immer mit einem JSON als Inhaltstyp antworten.In diesem Fall der Header Content-Type
des Antwort wäre application/json
.Der tatsächliche JSON-Code, der die Antwort darstellt, wird ebenfalls mit dem Statuscode verknüpft.
Um dem Benutzer eine ansprechende, für Menschen lesbare Nachricht bereitzustellen, müssen Sie die Webdienst-API konsultieren und herausfinden, wie sie spezifiziert wird.Bestimmte Webdienst-APIs verfügen möglicherweise über eine beträchtlich große API.Leider fehlt einigen Webdiensten eine umfassende Dokumentation.