Sur cette page

QRestReply Class

QRestReply est une enveloppe de commodité pour QNetworkReply. Plus...

En-tête : #include <QRestReply>
CMake : find_package(Qt6 REQUIRED COMPONENTS Network)
target_link_libraries(mytarget PRIVATE Qt6::Network)
qmake : QT += network
Depuis : Qt 6.7

Note : Toutes les fonctions de cette classe sont réentrantes.

Fonctions publiques

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)
QDebug operator<<(QDebug debug, const QRestReply &reply)

Description détaillée

QRestReply englobe un site QNetworkReply et fournit des méthodes de commodité pour la gestion des données et de l'état. Ces méthodes sont pratiques pour les applications client RESTful typiques.

QRestReply ne prend pas la propriété de l'objet QNetworkReply, et la durée de vie et la propriété de la réponse sont définies dans la documentation QNetworkAccessManager.

L'objet QRestReply n'est pas copiable, mais il est déplaçable.

Voir aussi QRestAccessManager, QNetworkReply, QNetworkAccessManager, et QNetworkAccessManager::setAutoDeleteReplies().

Documentation des fonctions membres

[explicit] QRestReply::QRestReply(QNetworkReply *reply)

Crée un QRestReply et initialise le wrapped QNetworkReply à reply.

[noexcept] QRestReply::QRestReply(QRestReply &&other)

Move-construit la réponse à partir de other.

Note : L'objet déplacé other est placé dans un état partiellement formé, dans lequel les seules opérations valables sont la destruction et l'attribution d'une nouvelle valeur.

[noexcept] QRestReply::~QRestReply()

Détruit cet objet QRestReply.

QNetworkReply::NetworkError QRestReply::error() const

Renvoie la dernière erreur, le cas échéant. Les erreurs incluent les erreurs de réseau et de protocole, mais excluent les cas où le serveur a répondu avec succès avec un statut HTTP.

Voir aussi httpStatus(), isSuccess(), hasError() et errorString().

QString QRestReply::errorString() const

Renvoie une description lisible par l'homme de la dernière erreur réseau.

Voir aussi httpStatus(), isSuccess(), hasError() et error().

bool QRestReply::hasError() const

Indique si une erreur s'est produite. Cela inclut les erreurs telles que les erreurs de réseau et de protocole, mais exclut les cas où le serveur a répondu avec un statut d'erreur HTTP (par exemple 500 Internal Server Error). Utilisez httpStatus() ou isHttpStatusSuccess() pour obtenir des informations sur l'état HTTP.

Voir également httpStatus(), isSuccess(), error() et errorString().

int QRestReply::httpStatus() const

Renvoie le statut HTTP reçu dans la réponse du serveur. La valeur est 0 si elle n'est pas disponible (la ligne d'état n'a pas encore été reçue).

Remarque : L'état HTTP est indiqué dans la réponse HTTP reçue. Une erreur error() peut se produire après la réception de l'état, par exemple en raison d'une déconnexion du réseau lors de la réception d'une longue réponse. Ces erreurs ultérieures potentielles ne sont pas représentées par l'état HTTP signalé.

Voir également isSuccess(), hasError() et error().

bool QRestReply::isHttpStatusSuccess() const

Retourne si le statut HTTP est compris entre 200..299.

Voir aussi isSuccess(), httpStatus(), hasError(), et error().

bool QRestReply::isSuccess() const

Renvoie si le statut HTTP est compris entre 200 et 299 et si aucune autre erreur ne s'est produite lors de la réception de la réponse (par exemple, une déconnexion abrupte lors de la réception des données du corps). Cette fonction est un moyen pratique de vérifier si la réponse est considérée comme réussie.

Voir aussi httpStatus(), hasError() et error().

QNetworkReply *QRestReply::networkReply() const

Renvoie un pointeur vers l'adresse QNetworkReply sous-jacente enveloppée par cet objet.

QByteArray QRestReply::readBody()

Renvoie les données reçues sous la forme d'un fichier QByteArray.

L'appel à cette fonction consomme les données reçues jusqu'à présent, et tout appel ultérieur pour obtenir des données de réponse renverra un message vide jusqu'à ce que d'autres données aient été reçues.

Voir aussi readJson(), readText(), QNetworkReply::bytesAvailable() et QNetworkReply::readyRead().

std::optional<QJsonDocument> QRestReply::readJson(QJsonParseError *error = nullptr)

Renvoie les données reçues sous forme de QJsonDocument.

La valeur renvoyée est enveloppée dans std::optional. Si la conversion des données reçues échoue (données vides ou erreur d'analyse JSON), std::nullopt est renvoyé et error est rempli avec des détails.

L'appel à cette fonction consomme les données reçues, et tout autre appel pour obtenir des données de réponse renverra des données vides.

Cette fonction renvoie std::nullopt et ne consommera aucune donnée si la réponse n'est pas terminée. Si error est transmis, il sera remplacé par QJsonParseError::NoError pour distinguer ce cas d'une véritable erreur.

Voir aussi readBody() et readText().

QString QRestReply::readText()

Renvoie les données reçues sous forme de QString.

Les données reçues sont décodées en QString (UTF-16). S'il est disponible, le décodage utilise le paramètre charset de l'en-tête Content-Type pour déterminer le codage de la source. Si l'information sur le codage n'est pas disponible ou n'est pas prise en charge par QStringConverter, UTF-8 est utilisé par défaut.

L'appel à cette fonction consomme les données reçues jusqu'à présent. Elle renvoie une valeur construite par défaut si aucune nouvelle donnée n'est disponible, ou si le décodage n'est pas pris en charge par QStringConverter, ou si le décodage comporte des erreurs (par exemple des caractères non valides).

Voir aussi readJson(), readBody() et QNetworkReply::readyRead().

[noexcept] QRestReply &QRestReply::operator=(QRestReply &&other)

Move assigne other et renvoie une référence à cette réponse.

Remarque : L'objet déplacé other est placé dans un état partiellement formé, dans lequel les seules opérations valables sont la destruction et l'attribution d'une nouvelle valeur.

Non-membres apparentés

QDebug operator<<(QDebug debug, const QRestReply &reply)

Écrit l'adresse reply dans l'objet debug à des fins de débogage.

Voir aussi Techniques de débogage.

© 2026 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.