QNetworkRequestFactory Class

공통 네트워크 요청 속성을 공유하는 원격 서버 엔드포인트를 그룹화하기 위한 편의 클래스입니다. 더 보기...

헤더: #include <QNetworkRequestFactory>
CMake: find_package(Qt6 REQUIRED COMPONENTS Network)
target_link_libraries(mytarget PRIVATE Qt6::Network)
qmake: QT += network
이후: Qt 6.7

공용 함수

QNetworkRequestFactory()
QNetworkRequestFactory(const QUrl &baseUrl)
QNetworkRequestFactory(const QNetworkRequestFactory &other)
QNetworkRequestFactory(QNetworkRequestFactory &&other)
~QNetworkRequestFactory()
(since 6.8) QVariant attribute(QNetworkRequest::Attribute attribute) const
(since 6.8) QVariant attribute(QNetworkRequest::Attribute attribute, const QVariant &defaultValue) const
QUrl baseUrl() const
QByteArray bearerToken() const
(since 6.8) void clearAttribute(QNetworkRequest::Attribute attribute)
(since 6.8) void clearAttributes()
void clearBearerToken()
void clearCommonHeaders()
void clearPassword()
void clearQueryParameters()
void clearUserName()
QHttpHeaders commonHeaders() const
QNetworkRequest createRequest() const
QNetworkRequest createRequest(const QString &path) const
QNetworkRequest createRequest(const QUrlQuery &query) const
QNetworkRequest createRequest(const QString &path, const QUrlQuery &query) const
QString password() const
(since 6.8) QNetworkRequest::Priority priority() const
QUrlQuery queryParameters() const
(since 6.8) void setAttribute(QNetworkRequest::Attribute attribute, const QVariant &value)
void setBaseUrl(const QUrl &url)
void setBearerToken(const QByteArray &token)
void setCommonHeaders(const QHttpHeaders &headers)
void setPassword(const QString &password)
(since 6.8) void setPriority(QNetworkRequest::Priority priority)
void setQueryParameters(const QUrlQuery &query)
void setSslConfiguration(const QSslConfiguration &configuration)
void setTransferTimeout(std::chrono::milliseconds timeout)
void setUserName(const QString &userName)
QSslConfiguration sslConfiguration() const
void swap(QNetworkRequestFactory &other)
std::chrono::milliseconds transferTimeout() const
QString userName() const
QNetworkRequestFactory &operator=(QNetworkRequestFactory &&other)
QNetworkRequestFactory &operator=(const QNetworkRequestFactory &other)
QDebug operator<<(QDebug debug, const QNetworkRequestFactory &factory)

상세 설명

REST 서버에는 종종 동일한 헤더 및 기타 데이터가 필요한 엔드포인트가 있습니다. 이러한 엔드포인트를 QNetworkRequestFactory로 그룹화하면 새 요청을 만들 때 경로쿼리 매개변수와 같이 일반적으로 달라지는 부분만 제공되므로 이러한 엔드포인트에 요청을 발행하는 것이 더 편리해집니다.

QNetworkRequestFactory의 기본 사용 단계는 다음과 같습니다:

  • 인스턴스화
  • 모든 요청에 공통으로 적용되는 데이터 설정
  • 요청 발행

사용 예시입니다:

// Instantiate a factory somewhere suitable in the application
QNetworkRequestFactory api{{"https://example.com/v1"_L1}};

// Set bearer token
api.setBearerToken("my_token");

// Issue requests (reply handling omitted for brevity)
manager.get(api.createRequest("models"_L1)); // https://example.com/v1/models
// The conventional leading '/' for the path can be used as well
manager.get(api.createRequest("/models"_L1)); // https://example.com/v1/models

멤버 함수 문서

QNetworkRequestFactory::QNetworkRequestFactory()

새 QNetworkRequestFactory 객체를 생성합니다. setBaseUrl ()를 사용하여 요청에 대한 유효한 기본 URL을 설정합니다.

QNetworkRequestFactory(const QUrl &baseUrl) 및 setBaseUrl()도 참조하세요 .

[explicit] QNetworkRequestFactory::QNetworkRequestFactory(const QUrl &baseUrl)

기본 URL을 baseUrl 으로 초기화하여 새 QNetworkRequestFactory 객체를 생성합니다. 기본 URL은 후속 네트워크 요청을 채우는 데 사용됩니다.

URL에 경로 구성 요소가 포함되어 있으면 해당 경로가 추출되어 후속 네트워크 요청에서 기본 경로로 사용됩니다. 즉, 아래 그림과 같이 개별 요청을 요청할 때 제공된 모든 경로가 이 기본 경로에 추가됩니다:

// Here the API version v2 is used as the base path:
QNetworkRequestFactory api{{"https://example.com/v2"_L1}};
// ...
manager.get(api.createRequest("models"_L1)); // https://example.com/v2/models
// Equivalent with a leading '/'
manager.get(api.createRequest("/models"_L1)); // https://example.com/v2/models

QNetworkRequestFactory::QNetworkRequestFactory(const QNetworkRequestFactory &other)

other 의 복사본을 만듭니다.

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

이동 - other 에서 팩토리를 구성합니다.

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

[noexcept] QNetworkRequestFactory::~QNetworkRequestFactory()

QNetworkRequestFactory 객체를 삭제합니다.

[since 6.8] QVariant QNetworkRequestFactory::attribute(QNetworkRequest::Attribute attribute) const

attribute 와 연관된 값을 반환합니다. 속성이 설정되지 않은 경우, 기본값으로 구성된 QVariant 을 반환합니다.

이 함수는 Qt 6.8에 도입되었습니다.

attribute(QNetworkRequest::Attribute, const QVariant &), setAttribute(), clearAttributes() 및 QNetworkRequest::Attribute참조하십시오 .

[since 6.8] QVariant QNetworkRequestFactory::attribute(QNetworkRequest::Attribute attribute, const QVariant &defaultValue) const

attribute 에 연관된 값을 반환합니다. 속성이 설정되지 않은 경우 defaultValue 을 반환합니다.

이 함수는 Qt 6.8에 도입되었습니다.

attribute(), setAttribute(), clearAttributes() 및 QNetworkRequest::Attribute참조하십시오 .

QUrl QNetworkRequestFactory::baseUrl() const

개별 요청에 사용된 기본 URL을 반환합니다.

기본 URL에는 경로 구성 요소가 포함될 수 있습니다. 이 경로는 개별 요청을 생성할 때 제공되는 경로의 경로 "접두사"로 사용됩니다.

setBaseUrl()도 참조하세요 .

QByteArray QNetworkRequestFactory::bearerToken() const

설정된 무기명 토큰을 반환합니다.

무기명 토큰이 있는 경우 요청에 대한 Authorization: Bearer my_token 헤더를 설정하는 데 사용됩니다. 이는 일반적인 인증 규칙이며 추가적인 편의를 위해 제공됩니다.

무기명 토큰을 획득하는 방법은 다양합니다. 표준 방법으로는 OAuth2 및 서비스 제공업체의 웹사이트/대시보드가 있습니다. 무기명 토큰은 시간이 지남에 따라 변경될 것으로 예상됩니다. 예를 들어, 새로고침 토큰으로 업데이트할 때 항상 새 토큰을 다시 설정하면 후속 요청에 최신의 유효한 토큰을 사용할 수 있습니다.

무기명 토큰의 존재 여부는 commonHeaders() 목록에 영향을 미치지 않습니다. commonHeaders ()에 Authorization 헤더도 나열되어 있으면 덮어쓰기됩니다.

setBearerToken() 및 commonHeaders()도 참조하세요 .

[since 6.8] void QNetworkRequestFactory::clearAttribute(QNetworkRequest::Attribute attribute)

이 팩토리로 설정된 attribute 을 지웁니다.

이 함수는 Qt 6.8에 도입되었습니다.

attribute() 및 setAttribute()도 참조하십시오 .

[since 6.8] void QNetworkRequestFactory::clearAttributes()

이 팩토리에 설정된 모든 어트리뷰트를 지웁니다.

이 함수는 Qt 6.8에 도입되었습니다.

attribute() 및 setAttribute()도 참조하십시오 .

void QNetworkRequestFactory::clearBearerToken()

무기명 토큰을 지웁니다.

bearerToken()도 참조하세요 .

void QNetworkRequestFactory::clearCommonHeaders()

현재 헤더를 지웁니다.

commonHeaders() 및 setCommonHeaders()도 참조하세요 .

void QNetworkRequestFactory::clearPassword()

이 팩토리로 설정된 비밀번호를 지웁니다.

password(), setPassword() 및 userName()도 참조하세요 .

void QNetworkRequestFactory::clearQueryParameters()

쿼리 매개변수를 지웁니다.

queryParameters()도 참조하세요 .

void QNetworkRequestFactory::clearUserName()

이 팩토리로 설정된 사용자 아이디를 지웁니다.

QHttpHeaders QNetworkRequestFactory::commonHeaders() const

현재 설정된 헤더를 반환합니다.

setCommonHeaders() 및 clearCommonHeaders()도 참조하세요 .

QNetworkRequest QNetworkRequestFactory::createRequest() const

QNetworkRequest 를 반환합니다.

반환된 요청은 이 팩토리가 구성된 데이터로 채워집니다.

createRequest(const QUrlQuery&) 및 createRequest(const QString&, const QUrlQuery&)도 참조하세요 .

QNetworkRequest QNetworkRequestFactory::createRequest(const QString &path) const

QNetworkRequest 를 반환합니다.

반환된 요청의 URL은 제공된 pathbaseUrl (경로 구성 요소를 포함할 수 있음)을 추가하여 형성됩니다.

createRequest(const QString &, const QUrlQuery &), createRequest() 및 baseUrl()도 참조하세요 .

QNetworkRequest QNetworkRequestFactory::createRequest(const QUrlQuery &query) const

QNetworkRequest 를 반환합니다.

반환된 요청의 URL은 baseUrl 에 제공된 query 을 추가하여 형성됩니다.

createRequest(const QString &, const QUrlQuery &), createRequest() 및 baseUrl()도 참조하세요 .

QNetworkRequest QNetworkRequestFactory::createRequest(const QString &path, const QUrlQuery &query) const

QNetworkRequest 를 반환합니다.

반환된 요청 URL은 제공된 pathquerybaseUrl (경로 구성 요소가 있을 수 있음)에 추가하여 형성됩니다.

제공된 path 에 쿼리 항목이 포함되어 있으면 query 의 항목과 결합됩니다.

createRequest(const QUrlQuery&), createRequest() 및 baseUrl()도 참조하세요 .

QString QNetworkRequestFactory::password() const

이 팩토리에 설정된 비밀번호를 반환합니다.

setPassword(), password(), clearPassword() 및 userName()도 참조하세요 .

[since 6.8] QNetworkRequest::Priority QNetworkRequestFactory::priority() const

이 팩토리에서 생성된 향후 요청에 할당된 우선순위를 반환합니다.

이 함수는 Qt 6.8에 도입되었습니다.

setPriority() 및 QNetworkRequest::priority()도 참조하십시오 .

QUrlQuery QNetworkRequestFactory::queryParameters() const

개별 요청의 쿼리 매개변수에 추가된 쿼리 매개변수를 반환합니다. 쿼리 매개변수는 개별 createRequest() 호출에 제공된 모든 잠재적 쿼리 매개변수에 추가됩니다.

반복 쿼리 매개변수를 사용하는 사용 사례는 서버에 따라 다르지만 언어 설정 ?lang=en, 형식 사양 ?format=json, API 버전 사양 ?version=1.0 및 API 키 인증 등이 대표적인 예입니다.

setQueryParameters(), clearQueryParameters() 및 createRequest()도 참조하세요 .

[since 6.8] void QNetworkRequestFactory::setAttribute(QNetworkRequest::Attribute attribute, const QVariant &value)

attribute 와 연결된 값을 value 로 설정합니다. 속성이 이미 설정되어 있는 경우 이전 값이 대체됩니다. 속성은 이 팩토리에서 생성된 모든 향후 요청으로 설정됩니다.

이 함수는 Qt 6.8에 도입되었습니다.

attribute(), clearAttribute(), clearAttributes() 및 QNetworkRequest::Attribute참조하십시오 .

void QNetworkRequestFactory::setBaseUrl(const QUrl &url)

개별 요청에 사용되는 기본 URL을 url 으로 설정합니다.

baseUrl()도 참조하세요 .

void QNetworkRequestFactory::setBearerToken(const QByteArray &token)

무기명 토큰을 token 로 설정합니다.

bearerToken() 및 clearBearerToken()도 참조하세요 .

void QNetworkRequestFactory::setCommonHeaders(const QHttpHeaders &headers)

모든 요청에 공통으로 적용되는 headers 을 설정합니다.

이 헤더는 개별 요청의 헤더에 추가됩니다. 이는 여러 요청에서 반복되는 헤더를 설정하기 위한 편리한 메커니즘입니다.

commonHeaders(), clearCommonHeaders(), createRequest()도 참조하세요 .

void QNetworkRequestFactory::setPassword(const QString &password)

이 팩토리의 비밀번호를 password 로 설정합니다.

비밀번호는 createRequest()가 호출될 때 요청 URL에 설정됩니다. QRestAccessManager / QNetworkAccessManager 은 서버가 인증이 필요하다고 표시하면 이 자격 증명을 사용하려고 시도합니다.

password(), clearPassword() 및 userName()도 참조하세요 .

[since 6.8] void QNetworkRequestFactory::setPriority(QNetworkRequest::Priority priority)

이 팩토리에서 향후 생성되는 모든 요청의 우선순위를 priority 으로 설정합니다.

기본 우선순위는 QNetworkRequest::NormalPriority 입니다.

이 함수는 Qt 6.8에 도입되었습니다.

priority() 및 QNetworkRequest::setPriority()도 참조하십시오 .

void QNetworkRequestFactory::setQueryParameters(const QUrlQuery &query)

개별 요청의 쿼리 매개변수에 추가되는 query 매개변수를 설정합니다.

queryParameters() 및 clearQueryParameters()도 참조하세요 .

void QNetworkRequestFactory::setSslConfiguration(const QSslConfiguration &configuration)

SSL 구성을 configuration 로 설정합니다.

sslConfiguration()도 참조하세요 .

void QNetworkRequestFactory::setTransferTimeout(std::chrono::milliseconds timeout)

전송에 사용되는 timeout 을 설정합니다.

transferTimeout(), QNetworkRequest::setTransferTimeout() 및 QNetworkAccessManager::setTransferTimeout()도 참조하세요 .

void QNetworkRequestFactory::setUserName(const QString &userName)

이 팩토리의 사용자 이름을 userName 로 설정합니다.

사용자 이름은 createRequest()가 호출될 때 요청 URL에 설정됩니다. QRestAccessManager / QNetworkAccessManager 은 서버가 인증이 필요하다고 표시하면 이 자격 증명을 사용하려고 시도합니다.

userName(), clearUserName() 및 password()도 참조하세요 .

QSslConfiguration QNetworkRequestFactory::sslConfiguration() const

이 팩토리로 설정된 SSL 구성을 반환합니다. SSL 구성은 각 개별 요청에 맞게 설정됩니다.

setSslConfiguration()도 참조하세요 .

[noexcept] void QNetworkRequestFactory::swap(QNetworkRequestFactory &other)

이 팩토리를 other 로 바꿉니다. 이 작업은 매우 빠르며 실패하지 않습니다.

std::chrono::milliseconds QNetworkRequestFactory::transferTimeout() const

전송에 사용된 시간제한을 반환합니다.

setTransferTimeout(), QNetworkRequest::transferTimeout() 및 QNetworkAccessManager::transferTimeout()도 참조하세요 .

QString QNetworkRequestFactory::userName() const

이 팩토리로 설정된 사용자 아이디를 반환합니다.

setUserName(), clearUserName() 및 password()도 참조하세요 .

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

Move-할당 other 이 팩토리에 대한 참조를 반환합니다.

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

QNetworkRequestFactory &QNetworkRequestFactory::operator=(const QNetworkRequestFactory &other)

other 의 복사본을 만들고 이 팩토리에 대한 참조를 반환합니다.

관련 비회원

QDebug operator<<(QDebug debug, const QNetworkRequestFactory &factory)

factorydebug 스트림에 씁니다.

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

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