QRestReply Class
QRestReplyは、QNetworkReply 用の便利なラッパーです。詳細...
| ヘッダー: | #include <QRestReply> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Network) target_link_libraries(mytarget PRIVATE Qt6::Network) |
| qmake: | QT += network |
| 以下のように: | Qt 6.7 |
- 継承されたメンバを含むすべてのメンバの一覧
- QRestReply は、ネットワークプログラミング API の一部です。
注:このクラスのすべての関数は再入可能です。
パブリック関数
| 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) |
詳細な説明
QRestReply は、QNetworkReply をラップし、データおよびステータスの処理に便利なメソッドを提供します。これらのメソッドは、一般的な RESTful クライアントアプリケーションにとって便利です。
QRestReply は、ラップされた `QNetworkReply` の所有権を取得せず、応答のライフタイムと所有権は、QNetworkAccessManager のドキュメントで定義されている通りとなります。
QRestReply オブジェクトはコピーできませんが、移動は可能です。
QRestAccessManager 、QNetworkReply 、QNetworkAccessManager 、およびQNetworkAccessManager::setAutoDeleteReplies()も参照してください 。
メンバ関数のドキュメント
[explicit] QRestReply::QRestReply(QNetworkReply *reply)
QRestReply を作成し、ラップされたQNetworkReply をreply に初期化します。
[noexcept] QRestReply::QRestReply(QRestReply &&other)
other から返信をムーブ構築します。
注: 移動元のオブジェクト other は 、部分的に形成された状態になります。この状態では、破棄と新しい値の代入のみが有効な操作となります。
[noexcept] QRestReply::~QRestReply()
このQRestReply オブジェクトを破棄します。
QNetworkReply::NetworkError QRestReply::error() const
エラーがある場合は、最後のエラーを返します。エラーには、ネットワークエラーやプロトコルエラーなどが含まれますが、サーバーが HTTP ステータスで正常に応答した場合は除外されます。
httpStatus()、isSuccess()、hasError()、およびerrorString()も参照してください 。
QString QRestReply::errorString() const
直近のネットワークエラーについて、人間が理解しやすい説明を返します。
httpStatus()、isSuccess()、hasError()、およびerror()も参照してください 。
bool QRestReply::hasError() const
エラーが発生したかどうかを返します。これには、ネットワークエラーやプロトコルエラーなどが含まれますが、サーバーがHTTPエラーステータス(例:500 Internal Server Error )で正常に応答した場合は除きます。HTTPステータス情報を取得するには、httpStatus() またはisHttpStatusSuccess() を使用してください。
httpStatus()、isSuccess()、error()、およびerrorString()も参照してください 。
int QRestReply::httpStatus() const
サーバーの応答で受信したHTTPステータスを返します。利用できない場合(ステータス行がまだ受信されていない場合)、値は0になります。
注:HTTPステータスは 、受信したHTTPレスポンスに示されているとおりに報告されます。ステータスの受信後、例えば長いレスポンスの受信中にネットワーク接続が切断された場合など、error()が発生する可能性があります。こうした潜在的な後続のエラーは、報告されるHTTPステータスには反映されません。
関連項目: isSuccess()、hasError()、error()。
bool QRestReply::isHttpStatusSuccess() const
HTTPステータスが200~299の範囲内であるかどうかを返します。
isSuccess()、httpStatus()、hasError()、およびerror()も参照してください 。
bool QRestReply::isSuccess() const
HTTPステータスが200~299の範囲にあり、かつレスポンスの受信中にそれ以上のエラー(例えば、ボディデータの受信中の突然の接続切断など)が発生していないかどうかを返します。この関数は、レスポンスが正常とみなされるかどうかを確認するための便利な方法です。
httpStatus()、hasError()、およびerror()も参照してください 。
QNetworkReply *QRestReply::networkReply() const
このオブジェクトによってラップされた、基となるQNetworkReply へのポインタを返します。
QByteArray QRestReply::readBody()
受信したデータをQByteArray として返します。
この関数を呼び出すと、それまでに受信したデータが消費され、それ以降、応答データを取得するための呼び出しは、新たなデータが受信されるまで空の値を返します。
readJson()、readText()、QNetworkReply::bytesAvailable()、およびQNetworkReply::readyRead()も参照してください 。
std::optional<QJsonDocument> QRestReply::readJson(QJsonParseError *error = nullptr)
受信したデータをQJsonDocument として返します。
戻り値はstd::optional としてラップされます。受信データの変換に失敗した場合(データが空の場合やJSONの解析エラーなど)、std::nullopt が返され、error に詳細情報が格納されます。
この関数を呼び出すと受信データが消費され、その後レスポンスデータを取得するための呼び出しはすべて空を返します。
この関数は `std::nullopt ` を返し、応答が完了していない場合はデータを消費しません。`error ` が渡された場合、実際のエラーとこのケースを区別するために、それが `QJsonParseError::NoError ` に設定されます。
readBody() およびreadText()も参照してください 。
QString QRestReply::readText()
受信したデータをQString として返します。
受信したデータは、QString (UTF-16)としてデコードされます。利用可能な場合、デコード処理ではContent-Typeヘッダーのcharsetパラメータを使用してソースエンコーディングを判別します。エンコーディング情報が利用できない場合、またはQStringConverter でサポートされていない場合は、デフォルトで UTF-8 が使用されます。
この関数を呼び出すと、それまでに受信したデータが消費されます。新しいデータがない場合、QStringConverter がデコードをサポートしていない場合、またはデコード中にエラー(無効な文字など)が発生した場合は、デフォルトで生成された値を返します。
readJson()、readBody()、およびQNetworkReply::readyRead()も参照してください 。
[noexcept] QRestReply &QRestReply::operator=(QRestReply &&other)
other を移動代入し、この応答への参照を返します。
注: 移動元のオブジェクト other は 、部分的に形成された状態になります。この状態では、有効な操作は破棄と新しい値の代入のみです。
関連する非メンバー
QDebug operator<<(QDebug debug, const QRestReply &reply)
デバッグの目的で、reply をdebug オブジェクトに書き込みます。
「デバッグ手法」も参照してください 。
© 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.