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()
수신된 데이터를 UTF-16( 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.