Ich habe in meiner API eine Methode, die einen Inhalt der PDF-Datei zurückgeben.Swift Siesta Access Response Rohdaten
Wie kann ich auf die rohen Daten der Antwort im Erfolgsrückruf zugreifen?
Ich habe in meiner API eine Methode, die einen Inhalt der PDF-Datei zurückgeben.Swift Siesta Access Response Rohdaten
Wie kann ich auf die rohen Daten der Antwort im Erfolgsrückruf zugreifen?
Alle Siesta-Antworten beginnen als Rohdaten (in Form des Foundation-Typs Data
), dann durchlaufen Sie die transformer pipeline.
Die Standard-Transformer-Pipeline analysiert JSON, Text und Bilder basierend auf dem Header Content-type
, der vom Server gesendet wird. Diese Liste enthält keine PDF-Datei. Wenn Ihr Server also den Inhaltstyp application/pdf
(oder einen anderen JSON-, Text- oder Bildinhaltstyp) sendet, ist die Antwort am Ende der Pipeline immer noch raw Data
:
request.onSuccess { entity in
guard let data = entity.content as? Data else {
print("Huh, got mystery response:", entity.content)
return
}
// do stuff with data
}
wenn Sie nicht Data
bekommen werden - wenn über den Code sagt „huh“ - dann etwas in der Pipeline, die Antwort zu verwandeln. Sie können Siesta ausführliche Protokollierung verwenden, um herauszufinden, was:
Siesta.LogCategory.enabled = LogCategory.detailed
Blick in die Protokollausgabe für:
Added config
, die protokolliert, wenn etwas einen Transformator an die Pipeline ergänztpipeline
Abschnitt der Resulting configuration
vor der fraglichen Anfrage, die alle Transformatoren zeigt, die für die Antwort gelten können, undApplied transformer
und Response after pipeline
, um zu sehen, wie Die tatsächliche Serverantwort wird transformiert.