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() | |
| 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 객체를 생성합니다. 요청에 사용할 유효한 기본 URL을 설정하려면 ` setBaseUrl()`를 사용하십시오.
QNetworkRequestFactory(const QUrl &baseUrl) 및 setBaseUrl()도 참조하십시오 .
[explicit] QNetworkRequestFactory::QNetworkRequestFactory(const QUrl &baseUrl)
새로운 QNetworkRequestFactory 객체를 생성하며, 기본 URL을 baseUrl 로 초기화합니다. 이 기본 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/modelsQNetworkRequestFactory::QNetworkRequestFactory(const QNetworkRequestFactory &other)
other 의 복사본을 생성합니다.
[constexpr noexcept default] 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은 제공된 path 를 baseUrl (이 URL 자체에 경로 구성 요소가 있을 수 있음) 뒤에 추가하여 구성됩니다.
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은 baseUrl (경로 구성 요소가 포함될 수 있음)에 제공된 path 및 query 를 추가하여 구성됩니다.
제공된 path 에 쿼리 항목이 포함되어 있는 경우, 해당 항목들은 query 의 항목들과 결합됩니다.
createRequest(const QUrlQuery&), createRequest() 및 baseUrl()도 참조하십시오 .
QString QNetworkRequestFactory::password() const
이 팩토리에 설정된 비밀번호를 반환합니다.
setPassword(), 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)
other 에 값을 할당하고 이 팩토리에 대한 참조를 반환합니다.
참고: 이동된객체 ` other `는 부분적으로 형성된 상태가 되며, 이 상태에서는 소멸과 새 값 할당만이 유효한 연산입니다.
QNetworkRequestFactory &QNetworkRequestFactory::operator=(const QNetworkRequestFactory &other)
other 의 복사본을 생성하고, 이 팩토리에 대한 참조를 반환합니다.
관련 비회원
QDebug operator<<(QDebug debug, const QNetworkRequestFactory &factory)
factory 를 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.