QRestReply Class
QRestReply ist ein komfortabler Wrapper für QNetworkReply. Mehr...
Kopfzeile: | #include <QRestReply> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Network) target_link_libraries(mytarget PRIVATE Qt6::Network) |
qmake: | QT += network |
Seit: | Qt 6.7 |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QRestReply ist Teil der Network Programming API.
Hinweis: Alle Funktionen in dieser Klasse sind reentrant.
Öffentliche Funktionen
QRestReply(QNetworkReply *reply) | |
QRestReply(QRestReply &&other) | |
~QRestReply() | |
QNetworkReply::NetworkError | error() const |
QString | errorString() const |
bool | hasError() const |
int | httpStatus() const |
bool | isHttpStatusSuccess() const |
bool | isSuccess() const |
QNetworkReply * | networkReply() const |
QByteArray | readBody() |
std::optional<QJsonDocument> | readJson(QJsonParseError *error = nullptr) |
QString | readText() |
QRestReply & | operator=(QRestReply &&other) |
Verwandte Nicht-Mitglieder
QDebug | operator<<(QDebug debug, const QRestReply &reply) |
Detaillierte Beschreibung
QRestReply umhüllt eine QNetworkReply und bietet komfortable Methoden für die Daten- und Statusverarbeitung. Die Methoden bieten Komfort für typische RESTful-Client-Anwendungen.
QRestReply übernimmt nicht das Eigentum an der verpackten QNetworkReply, und die Lebensdauer und das Eigentum an der Antwort ist wie in der QNetworkAccessManager Dokumentation definiert.
Das QRestReply-Objekt ist nicht kopierbar, aber beweglich.
Siehe auch QRestAccessManager, QNetworkReply, QNetworkAccessManager, und QNetworkAccessManager::setAutoDeleteReplies().
Dokumentation der Mitgliedsfunktionen
[explicit]
QRestReply::QRestReply(QNetworkReply *reply)
Erzeugt eine QRestReply und initialisiert die verpackte QNetworkReply auf reply.
[noexcept]
QRestReply::QRestReply(QRestReply &&other)
Move-konstruiert die Antwort von other.
Hinweis: Das verschobene Objekt other befindet sich in einem teilweise gebildeten Zustand, in dem die einzigen gültigen Operationen die Zerstörung und die Zuweisung eines neuen Wertes sind.
[noexcept]
QRestReply::~QRestReply()
Zerstört dieses QRestReply Objekt.
QNetworkReply::NetworkError QRestReply::error() const
Gibt den letzten Fehler zurück, falls vorhanden. Die Fehler umfassen Fehler wie Netzwerk- und Protokollfehler, schließen aber Fälle aus, in denen der Server erfolgreich mit einem HTTP-Status geantwortet hat.
Siehe auch httpStatus(), isSuccess(), hasError(), und errorString().
QString QRestReply::errorString() const
Gibt eine menschenlesbare Beschreibung des letzten Netzwerkfehlers zurück.
Siehe auch httpStatus(), isSuccess(), hasError(), und error().
bool QRestReply::hasError() const
Gibt zurück, ob ein Fehler aufgetreten ist. Dies schließt Fehler wie Netzwerk- und Protokollfehler ein, schließt aber Fälle aus, in denen der Server erfolgreich mit einem HTTP-Fehlerstatus geantwortet hat (zum Beispiel 500 Internal Server Error
). Verwenden Sie httpStatus() oder isHttpStatusSuccess(), um die HTTP-Statusinformationen zu erhalten.
Siehe auch httpStatus(), isSuccess(), error(), und errorString().
int QRestReply::httpStatus() const
Gibt den in der Serverantwort empfangenen HTTP-Status zurück. Der Wert ist 0, wenn er nicht verfügbar ist (die Statuszeile wurde noch nicht empfangen).
Hinweis: Der HTTP-Status wird so gemeldet, wie er in der empfangenen HTTP-Antwort angegeben ist. Nach dem Empfang des Status kann ein error() auftreten, z. B. aufgrund einer Netzunterbrechung beim Empfang einer langen Antwort. Diese potenziellen Folgefehler werden nicht durch den gemeldeten HTTP-Status dargestellt.
Siehe auch isSuccess(), hasError(), und error().
bool QRestReply::isHttpStatusSuccess() const
Gibt zurück, ob der HTTP-Status zwischen 200..299 liegt.
Siehe auch isSuccess(), httpStatus(), hasError(), und error().
bool QRestReply::isSuccess() const
Gibt zurück, ob der HTTP-Status zwischen 200..299 liegt und keine weiteren Fehler beim Empfang der Antwort aufgetreten sind (z.B. abrupter Verbindungsabbruch beim Empfang der Body-Daten). Diese Funktion ist ein bequemer Weg, um zu prüfen, ob die Antwort als erfolgreich angesehen wird.
Siehe auch httpStatus(), hasError(), und error().
QNetworkReply *QRestReply::networkReply() const
Gibt einen Zeiger auf die zugrunde liegende QNetworkReply zurück, die von diesem Objekt umschlossen wird.
QByteArray QRestReply::readBody()
Gibt die empfangenen Daten als QByteArray zurück.
Der Aufruf dieser Funktion verbraucht die bisher empfangenen Daten, und alle weiteren Aufrufe, um Antwortdaten zu erhalten, geben einen leeren Wert zurück, bis weitere Daten empfangen wurden.
Siehe auch readJson(), readText(), QNetworkReply::bytesAvailable(), und QNetworkReply::readyRead().
std::optional<QJsonDocument> QRestReply::readJson(QJsonParseError *error = nullptr)
Gibt die empfangenen Daten als QJsonDocument zurück.
Der zurückgegebene Wert ist in std::optional
verpackt. Schlägt die Konvertierung der empfangenen Daten fehl (leere Daten oder JSON-Parsing-Fehler), wird std::nullopt
zurückgegeben, und error wird mit Details gefüllt.
Der Aufruf dieser Funktion verbraucht die empfangenen Daten, und alle weiteren Aufrufe, um Antwortdaten zu erhalten, geben einen leeren Wert zurück.
Diese Funktion gibt std::nullopt
zurück und verbraucht keine Daten, wenn die Antwort nicht abgeschlossen ist. Wenn error übergeben wird, wird es auf QJsonParseError::NoError gesetzt, um diesen Fall von einem tatsächlichen Fehler zu unterscheiden.
Siehe auch readBody() und readText().
QString QRestReply::readText()
Gibt die empfangenen Daten als QString zurück.
Die empfangenen Daten werden in ein QString (UTF-16) dekodiert. Falls verfügbar, verwendet die Dekodierung den Parameter charset des Content-Type-Headers, um die Quellkodierung zu bestimmen. Wenn die Kodierungsinformationen nicht verfügbar sind oder von QStringConverter nicht unterstützt werden, wird standardmäßig UTF-8 verwendet.
Der Aufruf dieser Funktion verbraucht die bis dahin empfangenen Daten. Gibt einen konstruierten Standardwert zurück, wenn keine neuen Daten verfügbar sind oder wenn die Dekodierung von QStringConverter nicht unterstützt wird oder wenn die Dekodierung Fehler aufweist (z. B. ungültige Zeichen).
Siehe auch readJson(), readBody(), und QNetworkReply::readyRead().
[noexcept]
QRestReply &QRestReply::operator=(QRestReply &&other)
Move-assigns other und gibt einen Verweis auf diese Antwort zurück.
Hinweis: Das verschobene Objekt other wird in einen teilweise gebildeten Zustand versetzt, in dem die einzigen gültigen Operationen die Zerstörung und die Zuweisung eines neuen Wertes sind.
Verwandte Nicht-Mitglieder
QDebug operator<<(QDebug debug, const QRestReply &reply)
Schreibt die reply zu Debugging-Zwecken in das debug Objekt.
Siehe auch Debugging-Techniken.
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.