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は、baseUrl (これ自体にパスコンポーネントが含まれている場合がある)の末尾に、指定されたpath を追加することで形成されます。
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.