このページでは

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 オブジェクトを作成します。リクエストの有効なベース 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/models

QNetworkRequestFactory::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.