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(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를 생성하고 래핑된 QNetworkReplyreply 으로 초기화합니다.

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

Move는 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)로 성공적으로 응답한 경우는 제외됩니다. httpStatus () 또는 isHttpStatusSuccess()를 사용하여 HTTP 상태 정보를 가져옵니다.

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 헤더의 문자 집합 매개 변수를 사용하여 소스 인코딩을 결정합니다. 인코딩 정보를 사용할 수 없거나 QStringConverter 에서 지원하지 않는 경우 기본적으로 UTF-8이 사용됩니다.

이 함수를 호출하면 지금까지 수신한 데이터가 소모됩니다. 새 데이터를 사용할 수 없거나 QStringConverter 에서 디코딩을 지원하지 않는 경우 또는 디코딩에 오류(예: 잘못된 문자)가 있는 경우 기본 구성된 값을 반환합니다.

readJson(), readBody() 및 QNetworkReply::readyRead()도 참조하세요 .

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

Move-할당은 other 을 할당하고 이 회신에 대한 참조를 반환합니다.

참고: 이동된 other 개체는 부분적으로 형성된 상태로 배치되며, 유효한 작업은 파괴와 새 값 할당뿐입니다.

관련 비회원

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

디버깅을 위해 debug 객체에 reply 을 씁니다.

디버깅 기법도참조하세요 .

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