Sur cette page

QRestReply Class

QRestReply est une interface pratique pour QNetworkReply. En savoir 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

Remarque : 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 encapsule un objet ` QNetworkReply ` et fournit des méthodes pratiques pour la gestion des données et des statuts. Ces méthodes facilitent le développement d’applications clientes RESTful classiques.

QRestReply ne prend pas possession de l'QNetworkReply encapsulé, et la durée de vie ainsi que la propriété de la réponse sont définies conformément à la documentation d'QNetworkAccessManager.

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

Voir également QRestAccessManager, QNetworkReply, QNetworkAccessManager et QNetworkAccessManager::setAutoDeleteReplies().

Documentation sur les fonctions membres

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

Crée un objet `QRestReply` et initialise l'objet encapsulé ` QNetworkReply ` à la valeur ` reply`.

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

Construit la réponse à partir de other.

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

[noexcept] QRestReply::~QRestReply()

Supprime cet objet « QRestReply ».

QNetworkReply::NetworkError QRestReply::error() const

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

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

QString QRestReply::errorString() const

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

Voir également 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 succès en renvoyant un code d'erreur HTTP (par exemple 500 Internal Server Error). Utilisez httpStatus() ou isHttpStatusSuccess() pour obtenir les informations relatives au statut 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 s'il n'est pas disponible (la ligne de statut n'a pas encore été reçue).

Remarque : le statut HTTP est signalé tel qu’indiqué par la réponse HTTP reçue. Une erreur « error » () peut survenir après la réception du statut, par exemple en raison d’une déconnexion réseau lors de la réception d’une réponse longue. Ces erreurs potentielles ultérieures ne sont pas représentées par le statut HTTP signalé.

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

bool QRestReply::isHttpStatusSuccess() const

Indique si le code d'état HTTP est compris entre 200 et 299.

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

bool QRestReply::isSuccess() const

Indique si le code d'état 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 soudaine pendant la réception du corps de la réponse). Cette fonction constitue un moyen pratique de vérifier si la réponse est considérée comme réussie.

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

QNetworkReply *QRestReply::networkReply() const

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

QByteArray QRestReply::readBody()

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

L'appel de cette fonction consomme les données reçues jusqu'à présent, et tout appel ultérieur visant à obtenir des données de réponse renverra une valeur vide jusqu'à ce que de nouvelles données aient été reçues.

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

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

Renvoie les données reçues sous la forme d'un objet ` QJsonDocument`.

La valeur renvoyée est encapsulée dans un objet ` std::optional`. Si la conversion à partir des données reçues échoue (données vides ou erreur d’analyse JSON), la valeur ` std::nullopt ` est renvoyée, et l’objet ` error ` est renseigné avec les détails.

L’appel de cette fonction consomme les données reçues, et tout appel ultérieur visant à obtenir des données de réponse renverra une valeur vide.

Cette fonction renvoie ` std::nullopt ` et ne consomme aucune donnée si la réponse n’est pas terminée. Si ` error ` est passé en paramètre, il sera défini sur ` QJsonParseError::NoError ` afin de distinguer ce cas d’une erreur réelle.

Voir également readBody() et readText().

QString QRestReply::readText()

Renvoie les données reçues au format « QString ».

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

L'appel de 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, si le décodage n'est pas pris en charge par QStringConverter ou si le décodage contient des erreurs (par exemple, des caractères non valides).

Voir également readJson(), readBody() et QNetworkReply::readyRead().

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

La fonction « move-assigns » other et renvoie une référence à cette réponse.

Remarque : l’objet d’origine other est placé dans un état partiellement formé, dans lequel les seules opérations valides sont la destruction et l’affectation d’une nouvelle valeur.

Éléments non membres associés

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

Enregistre l'reply s dans l'objet debug à des fins de débogage.

Voir également 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.